Selaa lähdekoodia

fix:前台页面编辑查看显示修改

ly 11 kuukautta sitten
vanhempi
säilyke
5332853212

+ 15 - 12
src/views/business/crm/order/form.vue

@@ -8,7 +8,7 @@
               <Document />
             </el-icon>
             合同信息</span>
-
+          <div v-if="selectView">
           <el-button v-if="form.verifyStatus == 0 && !editStatus" type="warning" size="small" icon="Edit"
             @click="editStatus = true">修改</el-button>
           <el-button v-if="form.id && editStatus" type="info" size="small" icon="Close" @click="
@@ -28,7 +28,7 @@
             @click="rejectHandler">驳回</el-button>
           <el-button v-show="form.alterNumber > 0 && !editStatus" v-hasPermi="['business:archive:order:history']"
             type="info" size="small" icon="Notebook" @click="showHistoryList">历史记录</el-button>
-
+          </div>
           <div class="screen-btn" @click="handleScreen">
             <template v-if="!isFullscreen">
               <i class="fa fa-window-maximize" aria-hidden="true" />
@@ -138,13 +138,13 @@
                 <span>{{ form.verifyRemark }}</span>
               </el-form-item>
             </el-col>
-            <el-col :span="8" style="width: 100%">
+            <el-col :span="6" style="width: 100%">
               <el-form-item label="来源" prop="sourceCategoryName" style="width: 100%">
                 <CustomerFormCom ref="CustomerFormComRef" :edit-status="editStatus && type !== 'alterOrder'"
                   :form-data="form" :source-categories="sourceCategories" />
               </el-form-item>
             </el-col>
-            <el-col :span="4">
+            <el-col :span="6">
               <el-form-item label="客户标签" prop="customerLabelId">
                 <span>{{ selectedOptionLabel }}</span>
               </el-form-item>
@@ -163,20 +163,19 @@
                 <span v-else>{{ form.party }}</span>
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="备注" prop="remark">
                 <el-input v-if="editStatus" v-model="form.remark" show-word-limit maxlength="200"
                   style="width: 100%; margin: 0; padding: 0" placeholder="请输入备注" type="textarea" :rows="2" />
                 <span v-else>{{ form.remark }}</span>
               </el-form-item>
             </el-col>
-            <el-col :span="4">
-              <el-form-item v-if="!editStatus" label="合同状态" prop="dissolution">
-                <span >{{ form.dissolution === 0?'未解除':'已解除' }}</span>
+            <el-col :span="6">
+              <el-form-item v-if="!editStatus" label="合同状态" prop="status">
+                <dict-tag :options="contract_status" :value="form.status" />
               </el-form-item>
-
             </el-col>
-            <el-col :span="5">
+            <el-col :span="6">
             <el-form-item v-if="!editStatus && form.dissolution === 1" label="解除时间" prop="dissolution">
               <span >{{ form.dissDate }}</span>
             </el-form-item>
@@ -843,8 +842,12 @@
       type: Function,
       default: () => { },
     },
+    selectView:{
+      type:Boolean,
+      default:true,
+    }
   });
-  const { getList } = toRefs(props);
+  const { getList,selectView } = toRefs(props);
   /** 字典数组区 */
   const { virtual_address } = proxy.useDict("virtual_address");
   const { belong_region } = proxy.useDict("belong_region");
@@ -894,7 +897,7 @@
   const provincesArr = ref([]);
   const citiesArr = ref([]);
   const districtsArr = ref([]);
-
+  const { contract_status } = proxy.useDict("contract_status");
   const provinces = ref(proxy.region.getProvinces());
   provinces.value.unshift({ code: "", name: "全部" });
   const cities = ref([]);

+ 46 - 21
src/views/business/production/onceWork/index.vue

@@ -35,6 +35,11 @@
         <el-input v-model="queryParams.taskTypeName" style="width: 150px" placeholder="请输入项目" clearable
           @keyup.enter="handleQuery" />
       </el-form-item>
+      <el-form-item label="结果情况:" prop="resultStatus">
+        <el-select v-model="queryParams.resultStatus" placeholder="请选择结果情况" clearable @change="handleQuery">
+          <el-option v-for="item in resultStatus" :key="item.value" :label="item.label" :value="item.value" />
+        </el-select>
+      </el-form-item>
       <!-- <el-form-item v-if="tenant.versionId !== '4'" label="是否自己负责:" v-hasPermi="['business:once:person']">
         <el-switch v-model="oneself" @change="handleOneself" />
       </el-form-item> -->
@@ -80,8 +85,7 @@
       <el-table-column label="说明" align="center" prop="explain" min-width="180" />
       <el-table-column label="合同" align="center" min-width="180" >
         <template #default="scope">
-          <el-button link type="primary" size="small" @click="viewContract(scope.row)"
-                     v-hasPermi="['business:archive:order:edit']">查看</el-button>
+          <el-button link type="primary" size="small" @click="viewContract(scope.row)">查看</el-button>
         </template>
       </el-table-column>
       <el-table-column label="委托时间" align="center" min-width="140">
@@ -128,8 +132,9 @@
 
       <el-table-column label="任务进度" align="center" prop="onWorkDetail" min-width="140">
         <template #default="scope">
-          {{scope.row.onWorkDetail}}
-          <el-button link type="primary" icon="Edit" size="small" style="padding: 0"
+          <el-button link type="primary" size="small" @click="viewOnWorkDetail(scope.row)"
+                     >{{textFormat(scope.row.onWorkDetail)}}</el-button>
+          <el-button v-if="scope.row.record != null&&scope.row.record.handlerId  ===  useUserStore().user.userId" style="margin: 0" link type="primary" icon="Edit"
                      @click="viewOnWorkDetail(scope.row)" />
         </template>
       </el-table-column>
@@ -154,10 +159,16 @@
       </el-table-column>
       <el-table-column label="结果情况" align="center" min-width="140">
         <template #default="scope">
-          {{ scope.row.record == null? '未开始' : scope.row.record.status === 7 ?'暂停办理':scope.row.record.status === 5?'终止任务':scope.row.record.status === 1?'办理中':scope.row.record.status === 0?'未开始':'完成任务' }}
+          <div v-if="scope.row.record == null || scope.row.record===0">
+            {{'未开始'}}
+          </div>
+          <div v-else>
+            <el-button link type="primary" size="small" @click="viewResult(scope.row)"
+            >{{ scope.row.record.status ===3?'已完成':scope.row.record.status ===4?'暂停中':'办理中' }}</el-button>
+            <el-button v-if="scope.row.record != null&&scope.row.record.handlerId  ===  useUserStore().user.userId"  link type="primary" icon="Edit" size="small" style="margin: 0"
+                       @click="viewResult(scope.row)" />
+          </div>
 
-          <el-button link type="primary" icon="Edit" size="small" style="padding: 0"
-                     @click="viewResult(scope.row)" />
         </template>
       </el-table-column>
       <el-table-column label="状态" align="center" width="100">
@@ -207,7 +218,7 @@
       <el-table-column label="操作" width="130" align="center" prop="">
         <template #default="scope">
 
-          <el-button v-if="scope.row.record != null && scope.row.record.status === 7" size="small" type="primary" link
+          <el-button v-if="scope.row.record != null && scope.row.record.status === 4" size="small" type="primary" link
                      v-hasPermi="['business:production:onceWork:finished']" @click="continueHandle(scope.row)">
             继续办理
           </el-button>
@@ -232,8 +243,8 @@
     <!-- 分页 -->
     <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
       v-model:limit="queryParams.pageSize" @pagination="getList" />
-    <contract-form ref="contractRef" :get-list="getContractList" />
-    <result-dialog ref="resultDialogView" :get-list="getList"  />
+    <contract-form ref="contractRef" :select-view="false" :get-list="getContractList" />
+    <result-dialog ref="resultDialogView"  :get-list="getList"  />
     <on-work-detail ref="onWorkDetailView" :get-list="getList"  />
   </div>
 </template>
@@ -264,7 +275,7 @@
       {
         label: "办理中",
         value: 1,
-        color: "#ff8c00",
+        color: "#FFB836",
       },
       {
         label: "已完成",
@@ -272,24 +283,32 @@
         color: "#2FCB81",
       },
       {
-        label: "已完成(终止任务)",
-        value: 5,
-        color: "#2FCB81",
+        label: "暂停中",
+        value: 4,
+        color: "#b80f0f",
+      },
+    ],
+    resultStatus: [
+      {
+        label: "暂停办理",
+        value: 2,
+        color: "#888",
       },
       {
-        label: "已完成(完成任务)",
-        value: 6,
+        label: "终止任务",
+        value: 0,
         color: "#2FCB81",
       },
       {
-        label: "暂停中",
-        value: 7,
-        color: "#888",
+        label: "完成任务",
+        value: 1,
+        color: "#2FCB81",
       },
+
     ],
   });
 
-  const { selectStatus } = toRefs(data);
+  const { selectStatus,resultStatus } = toRefs(data);
 
   /** 字典数组区 */
   /** 查询 对象 */
@@ -487,6 +506,12 @@
     const id = row.contractId || ids.value;
     proxy.$refs.contractRef.open(id);
   }
+  const textFormat = (text)=>{
+    if(text){
+      return  text.slice(0,10)+'....'
+    }
+    return '';
+  }
   const viewResult = (row) =>{
     const id = row.id || ids.value;
     if(row.record == null||row.record.status === 0 ){
@@ -498,7 +523,7 @@
           { dangerouslyUseHTMLString: true }
       );
     }else {
-      resultDialogView.value.openView(id, row.record.status, row.record.handlerId, row.tenantId);
+      resultDialogView.value.openView(id, row.record.status, row.record.handlerId,row.record.resultStatus);
     }
   }
   const  rowNum = (num)=> {

+ 36 - 43
src/views/business/production/onceWork/resultDialog.vue

@@ -3,25 +3,29 @@
              v-model="outerVisible" title="任务进度" width="600">
     <el-form :model="sumbitForm" label-width="auto" ref="workDetailForm" style="max-width: 600px">
       <el-form-item v-if="handlerId === useUserStore().user.userId" label="任务结果">
-        <el-select
-            v-model="sumbitForm.recordStatus"
-            placeholder="任务结果"
-            size="large"
-            style="width: 240px"
-            :disabled ="formHidden ==5 || formHidden ==6"
-        >
-          <el-option
-              v-for="item in selectStatus"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-          />
-        </el-select>
-
+        <div v-if="sumbitForm.recordStatus === 3 || sumbitForm.recordStatus === 4 ">
+          {{sumbitForm.resultStatus === 2?'暂停办理':sumbitForm.resultStatus === 0?'终止任务':'完成任务'}}
+        </div>
+        <div v-else>
+          <el-select
+              v-model="sumbitForm.resultStatus"
+              placeholder="任务结果"
+              size="large"
+              style="width: 240px"
+              :disabled ="formHidden ==3"
+          >
+            <el-option
+                v-for="item in selectStatus"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+            />
+          </el-select>
+        </div>
       </el-form-item>
       <el-form-item v-if=" handlerId === useUserStore().user.userId">
         <el-upload
-            v-if="formHidden !==5 && formHidden !==6 "
+            v-if="formHidden !==3 && formHidden !==4"
             ref="upload"
             class="upload-demo"
             style="flex: auto;"
@@ -56,7 +60,7 @@
     <template #footer>
       <div class="dialog-footer">
         <el-button @click="outerVisible = false">关闭</el-button>
-        <el-button type="primary" v-if="handlerId === useUserStore().user.userId && (formHidden !==4 && formHidden !==5 && formHidden !==3)" v-hasPermi="['business:production:onceWork:finished']" @click="onsumbit">提交</el-button>
+        <el-button type="primary" v-if="handlerId === useUserStore().user.userId && (formHidden !==3)" v-hasPermi="['business:production:onceWork:finished']" @click="onsumbit">提交</el-button>
       </div>
     </template>
   </el-dialog>
@@ -102,35 +106,21 @@ interface Ifile{
 const data = reactive({
   selectStatus: [
     {
-      label: "未开始",
-      value: 0,
+      label: "暂停办理",
+      value: 2,
       color: "#888",
     },
     {
-      label: "办理中",
-      value: 1,
-      color: "#ff8c00",
-    },
-    {
-      label: "已完成",
-      value: 3,
-      color: "#2FCB81",
-    },
-    {
-      label: "已完成(终止任务)",
-      value: 5,
+      label: "终止任务",
+      value: 0,
       color: "#2FCB81",
     },
     {
-      label: "已完成(完成任务",
-      value: 6,
+      label: "完成任务",
+      value: 1,
       color: "#2FCB81",
     },
-    {
-      label: "暂停中",
-      value: 7,
-      color: "#888",
-    },
+
   ],
 });
 
@@ -139,12 +129,14 @@ const { selectStatus } = toRefs(data);
 
 const form = reactive({
     recordStatus:0,
-    file:Blob
+    file:Blob,
+    resultStatus:0
 })
 type Tform = typeof form;
 const sumbitForm = reactive<Tform>({
   file: new Blob,
-  recordStatus: null
+  recordStatus: null,
+  resultStatus:null
 });
 const httpRequest = (parm) => {
   const formData2 = new FormData();
@@ -160,7 +152,7 @@ const httpRequest = (parm) => {
       fileEntity.originalFileName = res.originalFilename;
       fileEntity.fileUrl = res.fileName;
     }
-    updateRecordStatus(workOrderId.value,sumbitForm.recordStatus,fileEntity).then(response => {
+    updateRecordStatus(workOrderId.value,sumbitForm.resultStatus,fileEntity).then(response => {
       proxy.$alert(
           "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
           "提交完成" +
@@ -180,10 +172,11 @@ const httpRequest = (parm) => {
     proxy.$refs['upload'].clearFiles();
   })
 }
-function openView(id,status,userId){
+function openView(id,status,userId,resultStatus){
   outerVisible.value = true;
   workOrderId.value = id;
   sumbitForm.recordStatus = status;
+  sumbitForm.resultStatus = resultStatus;
   sumbitForm.file = null;
   formHidden.value = status;
   fileEntity.fileName = null;
@@ -198,7 +191,7 @@ function openView(id,status,userId){
 }
 const onsumbit = () => {
   if(fileList.value.length===0){
-    updateRecordStatus(workOrderId.value,sumbitForm.recordStatus,fileEntity).then(response => {
+    updateRecordStatus(workOrderId.value,sumbitForm.resultStatus,fileEntity).then(response => {
       proxy.$alert(
           "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
           "提交完成" +