浏览代码

no message

linwenxin 5 月之前
父节点
当前提交
2a9e6a1bf7

+ 44 - 0
src/api/masterManagement.js

@@ -59,3 +59,47 @@ export function update(params) {
     params
   })
 }
+
+// 激活账号
+export function workerManagerActivation(params) {
+  return request({
+    url: '/workerManager/activation',
+    method: 'post',
+    params
+  })
+}
+
+// 重新入职
+export function workerManagerAgainQuit(params) {
+  return request({
+    url: '/workerManager/againQuit',
+    method: 'post',
+    params
+  })
+}
+
+// 离职
+export function workerManagerQuit(params) {
+  return request({
+    url: '/workerManager/quit',
+    method: 'post',
+    params
+  })
+}
+
+// 暂停接单
+export function workerManagerStop(params) {
+  return request({
+    url: '/workerManager/stop',
+    method: 'post',
+    params
+  })
+}
+
+export function workerManagerDetail(params) {
+  return request({
+    url: '/workerManager/detail',
+    method: 'post',
+    params
+  })
+}

+ 1 - 1
src/views/setting/insuranceAdministration/InsuranceAgreement/InsuranceAgreementForm.vue

@@ -214,7 +214,7 @@ export default {
                   pagination-call-back={this.paginationCallback}
                   title-texts={['待选项', '已选项']}
                   min-height="300px"
-                  table-row-key={row => row.websitId}
+                  table-row-key={row => row.id}
                 />
               </div>
             )

+ 302 - 241
src/views/userManagement/masterManagement/index.vue

@@ -23,53 +23,36 @@
           <div slot="moreSearch">
             <el-radio-group v-model="examineStatus" size="mini" @change="changeType">
               <el-radio-button label="">全部</el-radio-button>
-              <el-radio-button label="WAIT">待审核</el-radio-button>
-              <el-radio-button label="OK">审核通过</el-radio-button>
-              <el-radio-button label="FAIL">驳回</el-radio-button>
+              <el-radio-button label="WAIT">入住申请待审核</el-radio-button>
+              <el-radio-button label="WAIT_WORKER">待师傅购买</el-radio-button>
+              <el-radio-button label="POLICY_WAIT">保险待审核</el-radio-button>
+              <el-radio-button label="OK">状态正常</el-radio-button>
+              <el-radio-button label="FAIL">已驳回</el-radio-button>
+              <el-radio-button label="EXPIRED">证件快过期</el-radio-button>
+              <el-radio-button label="OVERDUE">证件已过期</el-radio-button>
+              <el-radio-button label="STOP">已暂停</el-radio-button>
+              <el-radio-button label="QUIT">已经离职</el-radio-button>
             </el-radio-group>
             <br /><br />
           </div>
-          <el-dialog
-            title="绑定辅助师傅"
-            width="500px"
-            :modal="true"
-            :visible.sync="formDialogaddsf"
-            :show-close="true"
-            :close-on-click-modal="false"
-            :before-close="formCancelaa"
-          >
-            <zj-form-container
-              ref="formRefaa"
-              :form-data="formDataaa"
-              :styleSwitch="false"
-              :formAttributes="{
-                'label-position': 'top'
-              }"
-            >
-              <zj-form-module
-                title="绑定辅助师傅"
-                label-width="100px"
-                :showHade="false"
-                :form-data="formDataaa"
-                :form-items="formItemsaa"
-              >
-              </zj-form-module>
-            </zj-form-container>
-            <div slot="footer">
-              <el-button size="mini" @click="formCancelaa">取 消</el-button>
-              <el-button size="mini" @click="queding">确 定</el-button>
-            </div>
-          </el-dialog>
         </template-page>
       </div>
       <div v-if="~['examine', 'detail'].indexOf(activeKey)" style="box-sizing: border-box; padding: 16px">
         <zj-form-container ref="formRef" :form-data="formData" :styleSwitch="false">
           <zj-form-module
-            :title="data.label"
+            title="详情"
+            label-width="100px"
+            :showPackUp="false"
+            :form-data="formData.user"
+            :form-items="formItems"
+          >
+          </zj-form-module>
+          <zj-form-module
+            title="证件信息"
             label-width="100px"
             :showPackUp="false"
             :form-data="formData"
-            :form-items="[...formItems, ...imageList]"
+            :form-items="formItems2"
           >
           </zj-form-module>
         </zj-form-container>
@@ -106,10 +89,14 @@ import {
   memberSlaveBind,
   memberListPageV2,
   memberPageExport,
-  getMemberDetail,
+  workerManagerDetail,
   memberAudit,
   memberInner,
-  update
+  update,
+  workerManagerActivation,
+  workerManagerAgainQuit,
+  workerManagerQuit,
+  workerManagerStop
 } from '@/api/masterManagement'
 import operation_mixin from '@/components/template/operation_mixin.js'
 import ImageUpload from '@/components/file-upload'
@@ -143,17 +130,11 @@ export default {
         isEs: false,
         examineRemark: '',
         examineStatus: '',
-        idCardImg: []
-      },
-      examineStatus: '',
-      formDialogaddsf: false,
-      formDataaa: {
-        slaveUserId: '',
-        userId: '',
-        websitId: ''
+        idCardImg: [],
+        user: {},
+        workerImgs: [{}]
       },
-      suoyoushifu: [],
-      imageList: []
+      examineStatus: ''
     }
   },
   computed: {
@@ -164,26 +145,37 @@ export default {
     formItems() {
       return [
         {
-          md: 12,
+          md: 6,
           isShow: true,
           name: 'el-select',
           options: [
-            { label: '待审核', value: 'WAIT' },
-            { label: '驳回', value: 'FAIL' },
-            { label: '通过', value: 'OK' }
+            { label: '入住申请待审核', value: 'WAIT' },
+            { label: '待师傅购买', value: 'WAIT_WORKER' },
+            { label: '保险待审核', value: 'POLICY_WAIT' },
+            { label: '状态正常', value: 'OK' },
+            { label: '已驳回', value: 'FAIL' },
+            { label: '证件快过期', value: 'EXPIRED' },
+            { label: '证件已过期', value: 'OVERDUE' },
+            { label: '已暂停', value: 'STOP' },
+            { label: '已经离职', value: 'QUIT' }
           ],
           attributes: { placeholder: '请输入', disabled: true },
           formItemAttributes: {
-            label: '审核状态',
-            prop: 'examineStatus',
+            label: '状态',
+            prop: 'examineStatus_t',
             rules: []
           }
         },
         {
-          md: 12,
+          md: 6,
           isShow: true,
-          name: 'el-input',
-          attributes: { disabled: true },
+          name: 'el-select',
+          options: [
+            { label: '普通用户', value: 'GENERAL' },
+            { label: '分销员', value: 'SERVICE' },
+            { label: '师傅', value: 'WORKER' }
+          ],
+          attributes: { placeholder: '请输入', disabled: true },
           formItemAttributes: {
             label: '用户类型',
             prop: 'type',
@@ -191,21 +183,21 @@ export default {
           }
         },
         {
-          md: 12,
+          md: 6,
           isShow: true,
           name: 'el-input',
           attributes: { placeholder: '请输入' },
           formItemAttributes: {
-            label: '用户名称',
+            label: '师傅名称',
             prop: 'nickName',
-            rules: [...required]
+            rules: []
           }
         },
         {
-          md: 12,
+          md: 6,
           isShow: true,
           name: 'el-input',
-          attributes: { placeholder: '请输入', disabled: true },
+          attributes: { placeholder: '请输入' },
           formItemAttributes: {
             label: '联系电话',
             prop: 'mobile',
@@ -218,40 +210,24 @@ export default {
           name: 'el-input',
           attributes: { placeholder: '请输入' },
           formItemAttributes: {
-            label: '身份证号码',
-            prop: 'idCard',
-            rules: [...required]
-          }
-        },
-        {
-          md: 12,
-          isShow: true,
-          name: 'slot-component',
-          attributes: {},
-          formItemAttributes: {
-            label: '身份证',
-            prop: 'idCardImg',
-            rules: [...required]
-          },
-          render: (h, { props, onInput }) => {
-            var { value } = props
-            console.log(this.formData.idCardImg)
-            return <ImageUpload fileList={this.formData.idCardImg} limit={1} isEdit={true} />
+            label: '入驻网点',
+            prop: 'websitName',
+            rules: []
           }
         },
         {
-          md: 12,
+          md: 6,
           isShow: true,
           name: 'el-input',
-          attributes: { placeholder: '请输入', disabled: true },
+          attributes: { placeholder: '请输入' },
           formItemAttributes: {
-            label: '入驻网点',
-            prop: 'websitName',
+            label: '师傅编号',
+            prop: 'workerNumber',
             rules: []
           }
         },
         {
-          md: 12,
+          md: 6,
           isShow: true,
           name: 'el-input',
           attributes: { placeholder: '请输入' },
@@ -262,99 +238,204 @@ export default {
           }
         },
         {
-          md: 6,
+          md: 24,
           isShow: true,
           name: 'el-input',
-          attributes: { placeholder: '请输入' },
+          attributes: {
+            placeholder: '请输入',
+            type: 'textarea'
+          },
           formItemAttributes: {
-            label: '师傅编号',
-            prop: 'workerNumber',
-            rules: [...required]
+            label: '备注',
+            prop: 'examineRemark',
+            rules: []
           }
-        },
+        }
+
+        // {
+        //   md: 12,
+        //   isShow: true,
+        //   name: 'el-input',
+        //   attributes: { placeholder: '请输入' },
+        //   formItemAttributes: {
+        //     label: '身份证号码',
+        //     prop: 'idCard',
+        //     rules: [...required]
+        //   }
+        // },
         // {
-        //   md: 6,
+        //   md: 12,
         //   isShow: true,
         //   name: 'slot-component',
         //   attributes: {},
         //   formItemAttributes: {
-        //     label: '是否允许二手商城发布',
-        //     prop: 'isEs',
+        //     label: '身份证',
+        //     prop: 'idCardImg',
         //     rules: [...required]
         //   },
         //   render: (h, { props, onInput }) => {
         //     var { value } = props
-        //     return (
-        //       <el-radio-group v-model={this.formData.isEs}>
-        //         <el-radio label={true}>是</el-radio>
-        //         <el-radio label={false}>否</el-radio>
-        //       </el-radio-group>
-        //     )
+        //     console.log(this.formData.idCardImg)
+        //     return <ImageUpload fileList={this.formData.idCardImg} limit={1} isEdit={true} />
         //   }
         // },
-        {
-          md: 24,
-          isShow: true,
-          name: 'el-input',
-          attributes: {
-            placeholder: '请输入',
-            type: 'textarea',
-            disabled: this.formData.examineStatus == 'WAIT' ? false : true
-          },
-          formItemAttributes: {
-            label: '备注',
-            prop: 'examineRemark',
-            rules: []
-          }
-        }
       ]
     },
-    formItemsaa() {
+    formItems2() {
       return [
         {
+          name: 'slot-component',
           md: 24,
-          isShow: true,
-          name: 'el-select',
-          options: this.suoyoushifu,
-          attributes: { placeholder: '请输入' },
           formItemAttributes: {
-            label: '选择师傅',
-            prop: 'slaveUserId',
+            'label-width': '0px',
+            label: '',
+            prop: 'items',
             rules: [...required]
           },
-          events: {
-            change: val => {
-              if (val) {
-                this.formDataaa.websitId = this.suoyoushifu.find(item => item.value == val)?.websitId
-              } else {
-                this.formDataaa.websitId = ''
-              }
-            }
+          render: (h, { props }) => {
+            return (
+              <zj-table
+                columns={[
+                  {
+                    columnAttributes: {
+                      label: '证件名称',
+                      prop: 'type'
+                    },
+                    render: (h, { row, column, index }) => {
+                      return (
+                        <div class="redbordererr">
+                          <el-form-item
+                            label=""
+                            label-width="0px"
+                            prop={`workerImgs.${index}.${column.columnAttributes.prop}`}
+                          >
+                            <el-select
+                              value={row[column.columnAttributes.prop]}
+                              onInput={val => {
+                                row[column.columnAttributes.prop] = val
+                              }}
+                              placeholder="请选择"
+                            >
+                              {[
+                                { value: 'HIGHT', label: '高空证' },
+                                { value: 'ID', label: '身份证' }
+                              ].map((item, index_) => (
+                                <el-option key={index_} label={item.label} value={item.value}></el-option>
+                              ))}
+                            </el-select>
+                          </el-form-item>
+                        </div>
+                      )
+                    }
+                  },
+                  {
+                    columnAttributes: {
+                      label: '证件号码',
+                      prop: 'number',
+                      width: 150
+                    },
+                    render: (h, { row, column, index }) => {
+                      return (
+                        <div class="redbordererr">
+                          <el-input
+                            value={row[column.columnAttributes.prop]}
+                            onInput={val => {
+                              row[column.columnAttributes.prop] = val
+                            }}
+                            placeholder="请输入内容"
+                          ></el-input>
+                        </div>
+                      )
+                    }
+                  },
+                  {
+                    columnAttributes: {
+                      label: '有效期开始日期',
+                      prop: 'startTime'
+                    },
+                    render: (h, { row, column, index }) => {
+                      return (
+                        <div class="redbordererr">
+                          <el-form-item
+                            label=""
+                            label-width="0px"
+                            prop={`workerImgs.${index}.${column.columnAttributes.prop}`}
+                          >
+                            <el-date-picker
+                              value={row[column.columnAttributes.prop]}
+                              onInput={val => {
+                                row[column.columnAttributes.prop] = val
+                              }}
+                              type="date"
+                              placeholder="选择日期"
+                            ></el-date-picker>
+                          </el-form-item>
+                        </div>
+                      )
+                    }
+                  },
+                  {
+                    columnAttributes: {
+                      label: '有效期结束日期',
+                      prop: 'endTime'
+                    },
+                    render: (h, { row, column, index }) => {
+                      return (
+                        <div class="redbordererr">
+                          <el-form-item
+                            label=""
+                            label-width="0px"
+                            prop={`workerImgs.${index}.${column.columnAttributes.prop}`}
+                          >
+                            <el-date-picker
+                              value={row[column.columnAttributes.prop]}
+                              onInput={val => {
+                                row[column.columnAttributes.prop] = val
+                              }}
+                              type="date"
+                              placeholder="选择日期"
+                            ></el-date-picker>
+                          </el-form-item>
+                        </div>
+                      )
+                    }
+                  },
+                  {
+                    columnAttributes: {
+                      label: '复审日期',
+                      prop: 'reexamineTime'
+                    },
+                    render: (h, { row, column, index }) => {
+                      return (
+                        <div class="redbordererr">
+                          <el-form-item
+                            label=""
+                            label-width="0px"
+                            prop={`workerImgs.${index}.${column.columnAttributes.prop}`}
+                          >
+                            <el-date-picker
+                              value={row[column.columnAttributes.prop]}
+                              onInput={val => {
+                                row[column.columnAttributes.prop] = val
+                              }}
+                              type="date"
+                              placeholder="选择日期"
+                            ></el-date-picker>
+                          </el-form-item>
+                        </div>
+                      )
+                    }
+                  }
+                ]}
+                table-data={this.formData.workerImgs || []}
+              />
+            )
           }
         }
       ]
     }
   },
   methods: {
-    queding() {
-      this.$refs.formRefaa.validate((valid, invalidFields, errLabels) => {
-        if (valid) {
-          memberSlaveBind(this.formDataaa).then(res => {
-            this.$message({
-              type: 'success',
-              message: '绑定成功成功'
-            })
-            this.formCancelaa()
-            this.$refs.pageRef.refreshList()
-          })
-        }
-      })
-    },
-    formCancelaa() {
-      this.$refs?.formRefaa?.$refs?.inlineForm?.clearValidate()
-      this.$data.formDataaa = this.$options.data().formDataaa
-      this.formDialogaddsf = false
-    },
     // 切换状态
     changeType(val) {
       this.$refs.pageRef.refreshList()
@@ -405,6 +486,7 @@ export default {
     // 表格操作列
     operation() {
       return this.operationBtn({
+        // 详情
         detail: {
           btnType: 'text',
           click: ({ row, index, column }) => {
@@ -414,38 +496,15 @@ export default {
               label: '详情',
               triggerEvent: () => {
                 this.guanbi()
-                this.imageList = []
                 this.$nextTick(() => {
-                  getMemberDetail({ id: row.id }).then(res => {
-                    Object.assign(this.formData, res.data, {
-                      idCardImg: [{ url: res.data.idCardImg }]
-                    })
-                    res.data.workerImgList.forEach(item => {
-                      this.imageList.push({
-                        md: 12,
-                        isShow: true,
-                        name: 'slot-component',
-                        attributes: {},
-                        formItemAttributes: {
-                          label: item.imgName,
-                          prop: 'imgName',
-                          rules: []
-                        },
-                        render: (h, { props, onInput }) => {
-                          var { value } = props
-                          return item.imgUrl ? (
-                            <el-image
-                              src={this.$showImgUrl(item.imgUrl)}
-                              style="width: 120px;height:120px"
-                              preview-src-list={[this.$showImgUrl(item.imgUrl)]}
-                              fit="cover"
-                            ></el-image>
-                          ) : (
-                            ''
-                          )
-                        }
-                      })
-                    })
+                  workerManagerDetail({ id: row.id }).then(res => {
+                    this.formData = {
+                      ...res.data,
+                      user: {
+                        ...res.data.user,
+                        examineStatus_t: res.data.examineStatus
+                      }
+                    }
                   })
                 })
               },
@@ -453,89 +512,89 @@ export default {
             })
           }
         },
-        examine: {
+        // 编辑
+        edit: {
+          btnType: 'text',
+          conditions: ({ row, index, column }) => {
+            return ['OK', 'FAIL', 'STOP', 'QUIT'].includes(row.examineStatus)
+          },
+          click: ({ row, index, column }) => {}
+        },
+        // 入驻申请审核
+        entryAudit: {
           btnType: 'text',
           conditions: ({ row, index, column }) => {
-            return row.examineStatus == 'WAIT'
+            return ['WAIT'].includes(row.examineStatus)
+          },
+          click: ({ row, index, column }) => {}
+        },
+        // 保险审核
+        insuranceAudit: {
+          btnType: 'text',
+          conditions: ({ row, index, column }) => {
+            return ['POLICY_WAIT'].includes(row.examineStatus)
+          },
+          click: ({ row, index, column }) => {}
+        },
+        // 激活
+        activate: {
+          btnType: 'text',
+          conditions: ({ row, index, column }) => {
+            return ['STOP'].includes(row.examineStatus)
           },
           click: ({ row, index, column }) => {
-            this.$refs.tabPage.addTab({
-              activeKey: 'examine',
-              key: 'examine',
-              label: '审核',
-              triggerEvent: () => {
-                this.guanbi()
-                this.$nextTick(() => {
-                  getMemberDetail({ id: row.id }).then(res => {
-                    Object.assign(this.formData, res.data, {
-                      idCardImg: [{ url: res.data.idCardImg }]
-                    })
-                  })
-                })
-              },
-              closeEvent: () => {}
+            workerManagerActivation({ id: row.id }).then(res => {
+              this.$message({ type: 'success', message: '激活成功!' })
+              this.$refs.pageRef.refreshList()
             })
           }
         },
-        setService: {
+        // 重新入职
+        reEntry: {
           btnType: 'text',
-          prompt: '请确认是否设为分销员?',
+          conditions: ({ row, index, column }) => {
+            return ['QUIT'].includes(row.examineStatus)
+          },
           click: ({ row, index, column }) => {
-            memberInner({
-              type: 'SERVICE',
-              userId: row.userId
-            }).then(res => {
-              if (res.code == 200) {
-                this.$message({ type: 'success', message: '设为分销员成功!' })
-                this.$refs.pageRef.refreshList()
-              } else {
-                this.$message.error(res.msg)
-              }
+            workerManagerAgainQuit.then(res => {
+              this.$message({ type: 'success', message: '入职成功!' })
+              this.$refs.pageRef.refreshList()
             })
           }
         },
-        setCustomer: {
+        // 暂停
+        pause: {
           btnType: 'text',
-          prompt: '请确认是否设为客户?',
+          conditions: ({ row, index, column }) => {
+            return ['OK'].includes(row.examineStatus)
+          },
           click: ({ row, index, column }) => {
-            memberInner({
-              type: 'GENERAL',
-              userId: row.userId
-            }).then(res => {
-              if (res.code == 200) {
-                this.$message({ type: 'success', message: '设为客户成功!' })
-                this.$refs.pageRef.refreshList()
-              } else {
-                this.$message.error(res.msg)
-              }
+            workerManagerStop.then(res => {
+              this.$message({ type: 'success', message: '暂停成功!' })
+              this.$refs.pageRef.refreshList()
             })
           }
         },
-        bindWorker: {
+        // 离职
+        dimission: {
           btnType: 'text',
           conditions: ({ row, index, column }) => {
-            return row.examineStatus == 'OK'
+            return ['OK'].includes(row.examineStatus)
           },
           click: ({ row, index, column }) => {
-            memberListPageV2({
-              pageNum: 1,
-              pageSize: -1,
-              params: [
-                { param: 'b.examine_status', compare: '=', value: 'OK' },
-                { param: 'b.websit_id', compare: '=', value: row.websitId }
-              ]
-            }).then(res => {
-              this.suoyoushifu = res.data.records
-                .filter(item => item.id != row.id)
-                .map(item => ({
-                  label: item.nickName,
-                  value: item.userId,
-                  websitId: item.websitId
-                }))
-              this.formDataaa.userId = row.userId
-              this.formDialogaddsf = true
+            workerManagerQuit.then(res => {
+              this.$message({ type: 'success', message: '离职成功!' })
+              this.$refs.pageRef.refreshList()
             })
           }
+        },
+        // 师傅组别
+        masterGroup: {
+          btnType: 'text',
+          conditions: ({ row, index, column }) => {
+            return true
+          },
+          click: ({ row, index, column }) => {}
         }
       })
     },
@@ -570,6 +629,8 @@ export default {
       })
     },
     update(removeTab) {
+      console.log(this.formData)
+      return
       this.$refs.formRef.validate((valid, invalidFields, errLabels) => {
         if (valid) {
           update({