Kaynağa Gözat

feature(OMS销售申请):前端字段修改及功能添加

yanglingling 2 yıl önce
ebeveyn
işleme
a8419ed595

+ 12 - 19
src/views/work/train/sale/components/Edit.vue

@@ -57,7 +57,7 @@
         <el-col :span="24">
           <el-form-item label="讲师要求" prop="instructorRequire">
             <el-select v-model="form.instructorRequire" placeholder="请选择" style="width: 100%">
-              <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
+              <el-option v-for="item in options" :key="item.nickName" :label="item.nickName" :value="item.nickName" />
             </el-select>
           </el-form-item>
         </el-col>
@@ -79,6 +79,8 @@
 
 <script>
   import Api from '@/api/work/trainSale'
+  import userApi from '@/api/system/user'
+  import to from 'await-to-js'
   import SelectDistributor from '@/components/select/SelectDistributor'
 
   export default {
@@ -121,29 +123,20 @@
         dialogTyte: '',
         dialogFormVisible: false,
         dingtalkForm: undefined,
-        options: [
-          {
-            value: '郎旭梅',
-            label: '郎旭梅',
-          },
-          {
-            value: '孙淼',
-            label: '孙淼',
-          },
-          {
-            value: '舒晨',
-            label: '舒晨',
-          },
-          {
-            value: '李洁',
-            label: '李洁',
-          },
-        ],
+        options: [],
       }
     },
     mounted() {},
     methods: {
+      async getUser() {
+        const [err, res] = await to(userApi.getList({ orderBy: 'userName', pageNum: 1, pageSize: 100, status: '10' }))
+        if (err) return
+        if (res.code == 200 && res.data) {
+          this.options = res.data.list
+        }
+      },
       showEdit(row) {
+        this.getUser()
         this.loading = false
         if (!row) {
           this.title = '添加'

+ 44 - 72
src/views/work/train/sale/components/details.vue

@@ -1,78 +1,48 @@
 <template>
   <div>
     <el-dialog :title="title" :visible.sync="dialogFormVisible" @close="close">
-      <el-form ref="form" :model="form" style="margin-top: -24px">
-        <el-row :gutter="20" style="margin: 0px">
-          <el-col :span="24">
-            <el-form-item label="渠道名称:" style="margin: 0px">
-              {{ form.distributorName }}
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="主营产品:" style="margin: 0px">
-              {{ form.mainProduct }}
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="主要客户:" style="margin: 0px">
-              {{ form.mainCustomer }}
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="参训人员:" style="margin: 0px">
-              {{ form.trainees }}
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="期望培训日期:" style="margin: 0px">
-              {{ parseTime(form.expectTrainDate, '{y}-{m}-{d}') }}
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="期望时间:" style="margin: 0px">
-              {{ parseTime(form.expectStartTime, '{h}:{i}') }} - {{ parseTime(form.expectEndTime, '{h}:{i}') }}
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="培训主题:" style="margin: 0px">
-              {{ form.trainTitle }}
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="讲师要求:" style="margin: 0px">
-              {{ form.instructorRequire }}
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="关注要点:" style="margin: 0px">
-              {{ form.focusPoint }}
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item v-if="form.trainInstructor != ''" label="培训讲师:" style="margin: 0px">
-              {{ form.trainInstructor }}
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item v-if="form.trainDate != ''" label="培训日期:" style="margin: 0px">
-              {{ parseTime(form.trainDate, '{y}-{m}-{d}') }}
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item v-if="form.specificStartTime != ''" label="培训时间:" style="margin: 0px">
-              {{ parseTime(form.specificStartTime, '{h}:{i}') }} - {{ parseTime(form.specificEndTime, '{h}:{i}') }}
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-table ref="productTable" :data="list" style="width: 100%; margin-top: 10px">
-              <el-table-column label="讲解时长" prop="explainDuration" show-overflow-tooltip />
-              <el-table-column label="提问记录" prop="questionRecord" show-overflow-tooltip />
-              <el-table-column label="培训效果总结" prop="trainSummary" show-overflow-tooltip />
-              <el-table-column label="下一步工作计划" prop="nextStep" show-overflow-tooltip />
-            </el-table>
-          </el-col>
-        </el-row>
-      </el-form>
+      <el-descriptions border class="margin-top" :column="2" title="">
+        <el-descriptions-item label="渠道名称">{{ form.distributorName }}</el-descriptions-item>
+        <el-descriptions-item label="主营产品">{{ form.mainProduct }}</el-descriptions-item>
+        <el-descriptions-item label="主要客户">{{ form.mainCustomer }}</el-descriptions-item>
+        <el-descriptions-item label="参训人员">{{ form.trainees }}</el-descriptions-item>
+        <el-descriptions-item label="期望培训日期">
+          {{ parseTime(form.expectTrainDate, '{y}-{m}-{d}') }}
+        </el-descriptions-item>
+        <el-descriptions-item label="期望时间">
+          {{ parseTime(form.expectStartTime, '{h}:{i}') }} - {{ parseTime(form.expectEndTime, '{h}:{i}') }}
+        </el-descriptions-item>
+        <el-descriptions-item label="培训主题">{{ form.trainTitle }}</el-descriptions-item>
+        <el-descriptions-item label="讲师要求">{{ form.instructorRequire }}</el-descriptions-item>
+        <el-descriptions-item label="关注要点">{{ form.focusPoint }}</el-descriptions-item>
+        <el-descriptions-item v-if="form.trainInstructor != ''" label="培训讲师">
+          {{ form.trainInstructor }}
+        </el-descriptions-item>
+        <el-descriptions-item v-if="form.trainDate != ''" label="培训日期">
+          {{ parseTime(form.trainDate, '{y}-{m}-{d}') }}
+        </el-descriptions-item>
+        <el-descriptions-item v-if="form.specificStartTime != ''" label="培训时间">
+          {{ parseTime(form.specificStartTime, '{h}:{i}') }} - {{ parseTime(form.specificEndTime, '{h}:{i}') }}
+        </el-descriptions-item>
+        <el-descriptions-item v-if="detailsForm.feedbackSupportContent != ''" label="反馈内容">
+          {{ detailsForm.feedbackSupportContent }}
+        </el-descriptions-item>
+        <el-descriptions-item v-if="detailsForm.feedbackSupportTime != ''" label="反馈时间">
+          {{ parseTime(detailsForm.feedbackSupportTime, '{y}-{m}-{d}') }}
+        </el-descriptions-item>
+        <el-descriptions-item v-if="detailsForm.explainDuration != ''" label="讲解时长">
+          {{ detailsForm.explainDuration }}
+        </el-descriptions-item>
+        <el-descriptions-item v-if="detailsForm.questionRecord != ''" label="提问记录">
+          {{ detailsForm.questionRecord }}
+        </el-descriptions-item>
+        <el-descriptions-item v-if="detailsForm.trainSummary != ''" label="培训效果总结">
+          {{ detailsForm.trainSummary }}
+        </el-descriptions-item>
+        <el-descriptions-item v-if="detailsForm.nextStep != ''" label="下一步工作计划">
+          {{ detailsForm.nextStep }}
+        </el-descriptions-item>
+      </el-descriptions>
       <template #footer>
         <el-button @click="close">关 闭</el-button>
       </template>
@@ -111,6 +81,7 @@
         dialogFormVisible: false,
         title: '',
         list: [],
+        detailsForm: {},
       }
     },
     mounted() {},
@@ -133,6 +104,7 @@
         if (err) return
         if (res.code == 200 && res.data) {
           this.list = res.data.list
+          this.detailsForm = res.data.list[0]
         }
       },
     },

+ 15 - 3
src/views/work/train/sale/components/sure.vue

@@ -4,7 +4,9 @@
       <el-row :gutter="20">
         <el-col :span="24">
           <el-form-item label="培训讲师" prop="trainInstructor">
-            <el-input v-model="form.trainInstructor" :rows="2" type="textarea" />
+            <el-select v-model="form.trainInstructor" placeholder="请选择" style="width: 100%">
+              <el-option v-for="item in options" :key="item.nickName" :label="item.nickName" :value="item.nickName" />
+            </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="24">
@@ -41,6 +43,8 @@
 
 <script>
   import Api from '@/api/work/trainSale'
+  import userApi from '@/api/system/user'
+  import to from 'await-to-js'
   import workApi from '@/api/work/index'
 
   export default {
@@ -53,6 +57,7 @@
     },
     data() {
       return {
+        options: [],
         loading: false,
         form: {
           trainInstructor: undefined,
@@ -74,7 +79,15 @@
     },
     mounted() {},
     methods: {
+      async getUser() {
+        const [err, res] = await to(userApi.getList({ orderBy: 'userName', pageNum: 1, pageSize: 100, status: '10' }))
+        if (err) return
+        if (res.code == 200 && res.data) {
+          this.options = res.data.list
+        }
+      },
       showEdit(row) {
+        this.getUser()
         this.loading = false
         if (!row) {
           this.title = '添加'
@@ -122,10 +135,9 @@
             } else if (this.dialogTyte === 'edit') {
               this.form.applyType = '20'
               const { msg } = await Api.doEdit(this.form)
-              const { m } = await workApi.doAddBySaleApply({ applyId: this.form.id })
+              workApi.doAddBySaleApply({ applyId: this.form.id })
               this.loading = false
               this.$baseMessage(msg, 'success', 'vab-hey-message-success')
-              this.$baseMessage(m, 'success', 'vab-hey-message-success')
               this.$emit('fetch-data')
               this.close('form')
             }

+ 9 - 7
src/views/work/train/sale/index.vue

@@ -64,7 +64,9 @@
           <span v-else-if="item.prop === 'applyType'">
             <el-tag v-if="row.applyType == '10'">已提交</el-tag>
             <el-tag v-else-if="row.applyType == '20'" type="warning">已确认</el-tag>
-            <el-tag v-else-if="row.applyType == '30'" type="success">总结完成</el-tag>
+            <el-tag v-else-if="row.applyType == '25'" type="danger">待反馈</el-tag>
+            <el-tag v-else-if="row.applyType == '30'" type="danger">待支持人员反馈</el-tag>
+            <el-tag v-else-if="row.applyType == '40'" type="success">总结完成</el-tag>
           </span>
           <span v-else>{{ row[item.prop] }}</span>
         </template>
@@ -79,7 +81,7 @@
             确认
           </el-button>
           <el-button
-            v-if="row.applyType == '20'"
+            v-if="row.applyType == '20' || row.applyType == '25'"
             v-permissions="['work:sale:sure']"
             type="text"
             @click="handleFinish(row)">
@@ -159,6 +161,11 @@
             width: '200px',
             prop: 'trainees',
           },
+          {
+            label: '状态',
+            width: '120px',
+            prop: 'applyType',
+          },
           {
             label: '期望培训日期',
             width: '120px',
@@ -199,11 +206,6 @@
             width: '120px',
             prop: 'specificTime',
           },
-          {
-            label: '申请状态',
-            width: '120px',
-            prop: 'applyType',
-          },
         ],
         deliveryStatusOptions: [],
         productLineOptions: [],