diff --git a/app/Admin/Actions/User/UserAssignAction.php b/app/Admin/Actions/User/UserAssignAction.php
index 0331eae..357600f 100644
--- a/app/Admin/Actions/User/UserAssignAction.php
+++ b/app/Admin/Actions/User/UserAssignAction.php
@@ -3,10 +3,13 @@
 namespace App\Admin\Actions\User;
 
 
+use App\Admin\Forms\User\AssignUserHandle;
 use App\Models\Order as OrderModel;
 use App\Models\User;
+use Dcat\Admin\Grid;
 use Dcat\Admin\Grid\BatchAction;
 use Dcat\Admin\Grid\Tools\AbstractTool;
+use Dcat\Admin\Widgets\Modal;
 use Illuminate\Http\Request;
 use Dcat\Admin\Grid\RowAction;
 
@@ -14,6 +17,7 @@ use Dcat\Admin\Grid\RowAction;
 class UserAssignAction extends BatchAction
 {
     protected $action;
+    protected $htmlClasses = ['btn btn-primary btn-sm btn-mini'];
 
     // 注意action的构造方法参数一定要给默认值
     public function __construct($title = null, $action = 1)
@@ -25,15 +29,34 @@ class UserAssignAction extends BatchAction
     // 确认弹窗信息
     public function confirm()
     {
-        return '您确定要发布已选中的文章吗?';
+        return '您确定要已选中的文章吗?';
     }
 
+    public function render()
+    {
+        $form = AssignUserHandle::make();
+        $buttonName = trans('user.labels.handle');
+        return Modal::make()->lg()->title($this->title)->body($form->payload([]))->onLoad($this->getModalScript())->button('<button class="btn btn-primary">
+        <i class="feather icon-check-circle"></i><span class="d-none d-sm-inline" style="margin-left: 5px">' . $buttonName . '</span>
+    </button>');
+    }
+
+
+    protected function getModalScript()
+    {
+        // 弹窗显示后往隐藏的id表单中写入批量选中的行ID
+        $warning = trans('global.labels.operate_must_select_data');
+        return <<<JS
+          var key = {$this->getSelectedKeysScript()}
+          if (!key.length){
+              Dcat.swal.error('$warning');
+              Dcat.reload();
+          }
+          $('#id').val(key);
+JS;
+    }
     public function html()
     {
-        $class = $this->getElementClass();
-        $this->setHtmlAttribute([
-            "class" => "{$class} btn btn-primary btn-sm btn-mini",
-        ]);
         return parent::html(); // TODO: Change the autogenerated stub
     }
 
@@ -46,11 +69,6 @@ class UserAssignAction extends BatchAction
         // 获取请求参数
         $action = $request->get('action');
 
-        foreach (Post::find($keys) as $post) {
-            $post->released = $action;
-            $post->save();
-        }
-
         $message = $action ? '文章发布成功' : '文章下线成功';
 
         return $this->response()->success($message)->refresh();
diff --git a/app/Admin/Forms/User/AssignUserHandle.php b/app/Admin/Forms/User/AssignUserHandle.php
new file mode 100644
index 0000000..918ff09
--- /dev/null
+++ b/app/Admin/Forms/User/AssignUserHandle.php
@@ -0,0 +1,64 @@
+<?php
+
+namespace App\Admin\Forms\User;
+
+use App\Models\Cms\CmsUser;
+use App\Models\Inquiry;
+use App\Models\User;
+use Dcat\Admin\Contracts\LazyRenderable;
+use Dcat\Admin\Traits\LazyWidget;
+use Dcat\Admin\Widgets\Form;
+
+class AssignUserHandle extends Form implements LazyRenderable
+{
+    use LazyWidget;
+
+    /**
+     * Handle the form request.
+     *
+     * @param array $input
+     *
+     * @return mixed
+     */
+    public function handle(array $input)
+    {
+        try {
+            $ids = explode(",", $input['id']);
+//            $userList = User::getListByIdArr($ids);
+            $cmsUser = CmsUser::getInfoByUserId($input['sale_id']);
+            if (!$cmsUser) {
+                throw new \Exception('销售不存在');
+            }
+            User::updateByIdArr($ids, ['sale_id' => $input['sale_id'], "sale_name" => $cmsUser['name']]);
+            return $this
+                ->response()
+                ->success(trans('admin.update_succeeded'))
+                ->refresh();
+        } catch (\Throwable $throwable) {
+//            var_dump((string)$throwable);
+            return $this->response()->error(trans('admin.update_failed'));
+        }
+    }
+
+    /**
+     * Build a form here.
+     */
+    public function form()
+    {
+        $this->disableResetButton();
+        $this->hidden('id')->attribute('id', 'id');
+        $this->select('sale_id')->options(CmsUser::pluck('name', 'userId')->toArray())->default(0)->required();
+    }
+
+    /**
+     * The data of the form.
+     *
+     * @return array
+     */
+    public function default()
+    {
+        return [
+
+        ];
+    }
+}
diff --git a/app/Admin/Service/UserService.php b/app/Admin/Service/UserService.php
index c1596f7..2b1bf2c 100644
--- a/app/Admin/Service/UserService.php
+++ b/app/Admin/Service/UserService.php
@@ -53,8 +53,8 @@ class UserService
     public static function userListTool(Grid $grid)
     {
         $grid->tools([
+            new UserTransferAction("转让销售"),
             new UserAssignAction("分配销售"),
-            new UserTransferAction("转移销售"),
         ]);
     }
 
diff --git a/app/Models/Cms/CmsUser.php b/app/Models/Cms/CmsUser.php
index b368b21..e588723 100644
--- a/app/Models/Cms/CmsUser.php
+++ b/app/Models/Cms/CmsUser.php
@@ -9,4 +9,10 @@ class CmsUser extends Model
     protected $connection = 'cms';
     protected $table = 'user_info';
     public $timestamps = false;
+
+    public static function getInfoByUserId($userId)
+    {
+        $res = self::where('userId', $userId)->first();
+        return ($res) ? $res->toArray() : [];
+    }
 }
diff --git a/app/Models/User.php b/app/Models/User.php
index f0b1abe..8b87172 100644
--- a/app/Models/User.php
+++ b/app/Models/User.php
@@ -48,21 +48,26 @@ class User extends Model
 
     public static function getInfoByUserId($userId)
     {
-        $res = self::where('user_id', $userId)->first();
+        $res = self::where('id', $userId)->first();
         return ($res) ? $res->toArray() : [];
     }
 
     // 批量获取用户信息
     public static function getInfoByUserIds($userId)
     {
-        return self::whereIn('user_id', $userId)->get()->keyBy('user_id')->toArray();
+        return self::whereIn('id', $userId)->get()->keyBy('id')->toArray();
     }
 
     public static function getListByIdArr($userIdArr)
     {
-        $res = self::wherein('user_id', $userIdArr)->get();
+        $res = self::wherein('id', $userIdArr)->get();
         return ($res) ? $res->toArray() : [];
     }
 
 
+    public static function updateByIdArr($idArr, $update)
+    {
+        return self::whereIn("id", $idArr)->update($update);
+    }
+
 }