liuzhihui 2 years ago
parent
commit
c57b3fa2ea

+ 8 - 0
CallCenterWeb.UI/RMYY/src/api/comDispatch/addOrEditDispatch.js

@@ -104,6 +104,14 @@ export function postDispatchDealWorkOrder(params) {
104 104
     data: params
105 105
   })
106 106
 }
107
+// 送达的编辑
108
+export function postDispatchDealEditWorkOrder(params) {
109
+  return request({
110
+    url: 'Scheduling/UpdateDealWorkOrder',
111
+    method: 'post',
112
+    data: params
113
+  })
114
+}
107 115
 // 收取标本
108 116
 export function postCollectSpecimens(params) {
109 117
   return request({

+ 294 - 31
CallCenterWeb.UI/RMYY/src/components/button/orderList.vue

@@ -689,14 +689,6 @@
689 689
       >
690 690
         <el-table-column prop="F_DicName" label="物品" align="center" />
691 691
         <el-table-column prop="F_Number" label="数量" align="center" />
692
-        <!-- <el-table-column prop="" label="实收数量" align="center">
693
-          <template slot-scope="scope">
694
-            <el-input
695
-              v-model="scope.row.F_PaidInQuantity"
696
-              placeholder="请输入数量"
697
-            ></el-input>
698
-          </template>
699
-        </el-table-column> -->
700 692
       </el-table>
701 693
       <el-form
702 694
         ref="dealWorkForm"
@@ -704,26 +696,20 @@
704 696
         :rules="rules"
705 697
         label-width="100px"
706 698
       >
707
-        <!-- <el-form-item label="接收人" v-if="bbtags.indexOf('急查标本') >= 0">
708
-          <el-input
709
-            v-model="dealWorkForm.recipient"
710
-            placeholder="请输入接收人工号"
711
-          ></el-input>
712
-        </el-form-item> -->
713 699
         <el-form-item label="是否异常" v-if="bbtags.indexOf('急查标本') >= 0">
714 700
           <el-radio-group v-model="dealWorkForm.isabnormal">
715 701
             <el-radio label="0">否</el-radio>
716 702
             <el-radio label="1">是</el-radio>
717 703
           </el-radio-group>
718 704
         </el-form-item>
719
-        <el-row v-if="dealWorkForm.isabnormal === '1'">
705
+        <el-row v-if="dealWorkForm.isabnormal === '1' && bbtags.indexOf('急查标本') >= 0">
720 706
           <el-col>
721 707
             <el-form-item label="标本信息" required>
722 708
               <el-button icon="el-icon-plus" @click="addItem()">添加</el-button>
723 709
             </el-form-item>
724 710
           </el-col>
725 711
         </el-row>
726
-        <el-row v-if="dealWorkForm.isabnormal === '1'">
712
+        <el-row v-if="dealWorkForm.isabnormal === '1' && bbtags.indexOf('急查标本') >= 0">
727 713
           <el-row v-for="(item, index) in dispatchhaocaiarrError" :key="index">
728 714
             <el-col :span="7">
729 715
               <el-form-item prop="devname">
@@ -732,6 +718,7 @@
732 718
                   :options="bborderData"
733 719
                   :props="TagProps"
734 720
                   clearable
721
+                  filterable
735 722
                   placeholder="请选择标本"
736 723
                   @change="(devname) => handleChange(devname, index)"
737 724
                 ></el-cascader>
@@ -794,6 +781,109 @@
794 781
         >
795 782
       </div>
796 783
     </el-dialog>
784
+    <!-- 送达的编辑 -->
785
+    <el-dialog :visible.sync="dialogStatus.dialog_schEdit" title="编辑">
786
+      <el-table
787
+        :data="dispatchhaocaiarr"
788
+        border
789
+        stripe
790
+        v-if="bbtags.indexOf('急查标本') >= 0"
791
+      >
792
+        <el-table-column prop="F_DicName" label="物品" align="center" />
793
+        <el-table-column prop="F_Number" label="数量" align="center" />
794
+      </el-table>
795
+      <el-form
796
+        ref="dealEditWorkForm"
797
+        :model="dealEditWorkForm"
798
+        :rules="rules"
799
+        label-width="100px"
800
+      >
801
+        <el-form-item label="是否异常" v-if="bbtags.indexOf('急查标本') >= 0">
802
+          <el-radio-group v-model="dealEditWorkForm.isabnormal">
803
+            <el-radio label="0">否</el-radio>
804
+            <el-radio label="1">是</el-radio>
805
+          </el-radio-group>
806
+        </el-form-item>
807
+        <el-row v-if="dealEditWorkForm.isabnormal === '1'&& bbtags.indexOf('急查标本') >= 0">
808
+          <el-col>
809
+            <el-form-item label="标本信息" required>
810
+              <el-button icon="el-icon-plus" @click="addItemEdit()">添加</el-button>
811
+            </el-form-item>
812
+          </el-col>
813
+        </el-row>
814
+        <el-row v-if="dealEditWorkForm.isabnormal === '1' && bbtags.indexOf('急查标本') >= 0">
815
+          <el-row v-for="(item, index) in dispatchhaocaiarrEdit" :key="index">
816
+            <el-col :span="7">
817
+              <el-form-item>
818
+                <el-cascader
819
+                  v-model="item.F_DicId"
820
+                  ref="cascaderbbedit"
821
+                  :options="bborderData"
822
+                  :props="TagProps"
823
+                  clearable
824
+                  filterable
825
+                  placeholder="请选择标本"
826
+                  @change="(F_DicId) => handleChangeEdit(F_DicId, index)"
827
+                ></el-cascader>
828
+              </el-form-item>
829
+            </el-col>
830
+            <el-col :span="6">
831
+              <el-form-item prop="num">
832
+                <el-input-number
833
+                  v-model="item.F_Number"
834
+                  :min="1"
835
+                  size="medium"
836
+                />
837
+              </el-form-item>
838
+            </el-col>
839
+            <el-col :span="11">
840
+              <el-form-item prop="num">
841
+                <el-input
842
+                  style="width: 180px"
843
+                  v-model="item.F_ReceiveUser"
844
+                  placeholder="科室交接人"
845
+                ></el-input>
846
+                <el-button
847
+                  type="primary"
848
+                  icon="el-icon-close"
849
+                  circle
850
+                  @click="removeItemEdit(index)"
851
+                />
852
+              </el-form-item>
853
+            </el-col>
854
+          </el-row>
855
+        </el-row>
856
+        <el-form-item label="附件" v-if="bbtags.indexOf('急查标本') < 0">
857
+          <el-upload
858
+            :headers="headers"
859
+            :on-remove="handle_removeEdit"
860
+            :on-success="handle_successEdit"
861
+            :file-list="dealEditWorkFormFile"
862
+            :action="imgUrl"
863
+            list-type="picture-card"
864
+          >
865
+            <i class="el-icon-plus" />
866
+          </el-upload>
867
+        </el-form-item>
868
+        <el-form-item label="说明">
869
+          <el-input
870
+            :autosize="{ minRows: 4, maxRows: 8 }"
871
+            v-model="dealEditWorkForm.remark"
872
+            show-word-limit
873
+            maxlength="100"
874
+            type="textarea"
875
+          />
876
+        </el-form-item>
877
+      </el-form>
878
+      <div slot="footer" class="dialog-footer">
879
+        <el-button @click="dialogStatus.dialog_schEdit = false"
880
+          >取 消</el-button
881
+        >
882
+        <el-button type="primary" @click="submitForm('dealEditWorkForm')"
883
+          >确 定</el-button
884
+        >
885
+      </div>
886
+    </el-dialog>
797 887
     <!-- 综合调度收取标本 -->
798 888
     <el-dialog
799 889
       :visible.sync="dialogStatus.dialog_dispatch_shouqubiaoben"
@@ -860,6 +950,43 @@
860 950
         :rules="rules"
861 951
         label-width="100px"
862 952
       >
953
+        <el-form-item label="服务态度" prop="Attitude">
954
+          <el-rate
955
+            v-model="carEvaluteForm.Attitude"
956
+            :texts="evaluateText"
957
+            show-text
958
+          />
959
+        </el-form-item>
960
+        <el-form-item label="服务质量" prop="Quality">
961
+          <el-rate
962
+            v-model="carEvaluteForm.Quality"
963
+            :texts="evaluateText"
964
+            show-text
965
+          />
966
+        </el-form-item>
967
+        <el-form-item label="完成时效" prop="Efficiency">
968
+          <el-rate
969
+            v-model="carEvaluteForm.Efficiency"
970
+            :texts="evaluateText"
971
+            show-text
972
+          />
973
+        </el-form-item>
974
+        <el-form-item label="文字评价" prop="Evaluation">
975
+          <el-input
976
+            :autosize="{ minRows: 4, maxRows: 8 }"
977
+            v-model="carEvaluteForm.Evaluation"
978
+            show-word-limit
979
+            maxlength="100"
980
+            type="textarea"
981
+          />
982
+        </el-form-item>
983
+      </el-form>
984
+      <!-- <el-form
985
+        ref="carEvaluteForm"
986
+        :model="carEvaluteForm"
987
+        :rules="rules"
988
+        label-width="100px"
989
+      >
863 990
         <el-form-item label="评价内容">
864 991
           <el-input
865 992
             :autosize="{ minRows: 4, maxRows: 8 }"
@@ -876,7 +1003,7 @@
876 1003
             show-text
877 1004
           />
878 1005
         </el-form-item>
879
-      </el-form>
1006
+      </el-form> -->
880 1007
       <div slot="footer" class="dialog-footer">
881 1008
         <el-button @click="dialogStatus.dialog_cldu_pingjia = false"
882 1009
           >取 消</el-button
@@ -1101,6 +1228,7 @@ import {
1101 1228
   postDispatchCheckWorkOrder,
1102 1229
   postDispatchBackWorkOrder,
1103 1230
   postDispatchDealWorkOrder,
1231
+  postDispatchDealEditWorkOrder,
1104 1232
   postCollectSpecimens,
1105 1233
   postDelDispatchWorkOrder,
1106 1234
   postwithdrawDispatchWorkOrder,
@@ -1146,12 +1274,20 @@ export default {
1146 1274
           F_ReceiveUser: "",
1147 1275
         },
1148 1276
       ],
1277
+      dispatchhaocaiarrEdit:[
1278
+        {
1279
+          F_DicId: '',
1280
+          F_Number: 1,
1281
+          F_ReceiveUser: "",
1282
+        },
1283
+      ],
1149 1284
       reason1: "",
1150 1285
       reason2: "",
1151 1286
       reason3: "",
1152 1287
       reason4: "",
1153 1288
       reasonarr1: [],
1154 1289
       dialogStatus: {
1290
+        dialog_schEdit:false,
1155 1291
         dialog_dispatch_zhuanpai: false,
1156 1292
         dialog_zhdd_zhipai: false,
1157 1293
         dialog_zhdd_tuihui: false,
@@ -1270,7 +1406,10 @@ export default {
1270 1406
       },
1271 1407
       carEvaluteForm: {
1272 1408
         Evaluation: "",
1273
-        score: 0,
1409
+        Attitude: 0,
1410
+        Quality: 0,
1411
+        Efficiency: 0,
1412
+        // score: 0,
1274 1413
       },
1275 1414
       evaluateForm: {
1276 1415
         Attitude: 0,
@@ -1353,6 +1492,12 @@ export default {
1353 1492
         // recipient: "",
1354 1493
         isabnormal: "0",
1355 1494
       },
1495
+      dealEditWorkForm:{
1496
+        file: "",
1497
+        remark: "",
1498
+        // recipient: "",
1499
+        isabnormal: "0",
1500
+      },
1356 1501
       collectForm: {
1357 1502
         jcnum: "0",
1358 1503
         fjcnum: "0",
@@ -1375,6 +1520,7 @@ export default {
1375 1520
       imgUrl:
1376 1521
         this.$store.getters.serverConfig.BASE_API + "FaultRepair/UploadFile",
1377 1522
       dealWorkFormFile: [],
1523
+      dealEditWorkFormFile:[],
1378 1524
       collectFormFile: [],
1379 1525
       rules: {
1380 1526
         file: [
@@ -1473,6 +1619,14 @@ export default {
1473 1619
       };
1474 1620
       this.dispatchhaocaiarrError.push(params);
1475 1621
     },
1622
+    addItemEdit(){
1623
+      const params = {
1624
+        F_DicId: "",
1625
+        F_Number: 1,
1626
+        F_ReceiveUser: "",
1627
+      };
1628
+      this.dispatchhaocaiarrEdit.push(params);
1629
+    },
1476 1630
     getDepUsers() {
1477 1631
       const deptid = this.$store.getters.teamId;
1478 1632
       return new Promise((resolve) => {
@@ -1495,11 +1649,20 @@ export default {
1495 1649
       console.log(index);
1496 1650
       this.dispatchhaocaiarrError.splice(index, 1);
1497 1651
     },
1652
+    removeItemEdit(index) {
1653
+      console.log(index);
1654
+      this.dispatchhaocaiarrEdit.splice(index, 1);
1655
+    },
1498 1656
     handleChange(data, index) {
1499 1657
       const obj = this.$refs["cascaderbb"][index].getCheckedNodes();
1500 1658
       this.dispatchhaocaiarrError[index].F_DicId = data;
1501 1659
       this.dispatchhaocaiarrError[index].F_DicName = obj[0].data.text;
1502 1660
     },
1661
+    handleChangeEdit(data, index) {
1662
+      const obj = this.$refs["cascaderbbedit"][index].getCheckedNodes();
1663
+      this.dispatchhaocaiarrEdit[index].F_DicId = data;
1664
+      this.dispatchhaocaiarrEdit[index].F_DicName = obj[0].data.text;
1665
+    },
1503 1666
     handleChange1(data) {
1504 1667
       this.returnWorkForm.key = data.split(",")[0];
1505 1668
       this.returnWorkForm.value = data.split(",")[1];
@@ -1518,12 +1681,37 @@ export default {
1518 1681
     },
1519 1682
     handle_success(res) {
1520 1683
       this.dealWorkForm.file += res.data[0].F_FileId + ",";
1521
-      this.$refs.dealWorkForm.clearValidate("file");
1684
+      // this.$refs.dealEditWorkForm.clearValidate("file");
1685
+    },
1686
+    handle_successEdit(res) {
1687
+      this.dealEditWorkForm.file += res.data[0].F_FileId + ",";
1522 1688
     },
1523 1689
     handle_remove(res) {
1524 1690
       const str = res.response.data[0].F_FileId + ",";
1525 1691
       this.dealWorkForm.file = this.dealWorkForm.file.replace(str, "");
1526 1692
     },
1693
+    handle_removeEdit(res) {
1694
+      var oldstr = "";
1695
+      var str = "";
1696
+      if (res.F_FileId) {
1697
+        oldstr = res.F_FileId + ",";
1698
+      }
1699
+      if (res.response) {
1700
+        str = res.response.data[0].F_FileId + ",";
1701
+      }
1702
+      if (oldstr) {
1703
+        this.dealEditWorkForm.file = this.dealEditWorkForm.file.replace(
1704
+          oldstr,
1705
+          ""
1706
+        );
1707
+      }
1708
+      if (str) {
1709
+        this.dealEditWorkForm.file = this.dealEditWorkForm.file.replace(
1710
+          str,
1711
+          ""
1712
+        );
1713
+      }
1714
+    },
1527 1715
     handle_successcol(res) {
1528 1716
       this.collectForm.file += res.data[0].F_FileId + ",";
1529 1717
     },
@@ -1539,9 +1727,19 @@ export default {
1539 1727
       GetFaultRepairDetail(params).then((res) => {
1540 1728
         this.haocaiarr = res.data[0].Equips;
1541 1729
         this.FileUrl = res.data[0].FileUrl;
1542
-        // this.PictureUrl = res.data[0].PictureUrl
1543 1730
       });
1544 1731
     },
1732
+    getDispatchHaocaiEdit(){
1733
+      const params = {
1734
+        WorkOrderCode: this.wocode,
1735
+        type: 1
1736
+      };
1737
+      GetOrderDetail(params).then(res=>{
1738
+        if(res.data.length>0&&res.data[0].F_OperationType==9){
1739
+          this.dealEditWorkForm.remark = res.data[0].F_LogContent.slice(res.data[0].F_LogContent.indexOf(',')+1,res.data[0].F_LogContent.length)
1740
+        }
1741
+      })
1742
+    },
1545 1743
     getDispatchHaocai() {
1546 1744
       const params = {
1547 1745
         WorkOrderCode: this.wocode,
@@ -1553,14 +1751,40 @@ export default {
1553 1751
             parseInt(res.data[0].F_WorkOrderCategory)
1554 1752
           ].text;
1555 1753
         // console.log(this.bbtags)
1556
-        this.dispatchhaocaiarr = res.data[0].PSInfo;
1557
-        for (var i = 0; i < res.data[0].PSInfo.length; i++) {
1558
-          res.data[0].PSInfo[i].F_DicName =
1559
-            this.$store.getters.bbxxTypeMap[
1560
-              parseInt(res.data[0].PSInfo[i].F_DicId)
1561
-            ].text;
1754
+        this.dispatchhaocaiarr = res.data[0].PSInfo || [];
1755
+        if(res.data[0].F_IsAbnormal){
1756
+          this.dealEditWorkForm.isabnormal = res.data[0].F_IsAbnormal.toString()
1757
+        }
1758
+        if(this.bbtags.indexOf('急查标本')>=0){
1759
+          for (var i = 0; i < res.data[0].PSInfo.length; i++) {
1760
+            res.data[0].PSInfo[i].F_DicName =
1761
+              this.$store.getters.bbxxTypeMap[
1762
+                parseInt(res.data[0].PSInfo[i].F_DicId)
1763
+              ].text;
1764
+          }
1765
+        }
1766
+        const sdarr =  []
1767
+        for (var i = 0; i < res.data[0].SDInfo.length; i++) {
1768
+          sdarr.push({
1769
+            F_DicId: res.data[0].SDInfo[i].F_DicId,
1770
+            F_DicName: res.data[0].SDInfo[i].F_DicName,
1771
+            F_Number: res.data[0].SDInfo[i].F_Number,
1772
+            F_ReceiveUser:res.data[0].SDInfo[i].F_ReceiveUser
1773
+          })
1774
+        }
1775
+        this.dispatchhaocaiarrEdit = sdarr
1776
+        this.dealEditWorkFormFile = []
1777
+        this.dealEditWorkForm.file = "";
1778
+        if (res.data[0].DealFileUrl) {
1779
+          for (var i = 0; i < res.data[0].DealFileUrl.length; i++) {
1780
+            this.dealEditWorkForm.file += res.data[0].DealFileUrl[i].F_FileId + ",";
1781
+            this.dealEditWorkFormFile.push({
1782
+              F_FileId: res.data[0].DealFileUrl[i].F_FileId,
1783
+              name: res.data[0].DealFileUrl[i].F_FileName,
1784
+              url: res.data[0].DealFileUrl[i].F_FileUrl,
1785
+            });
1786
+          }
1562 1787
         }
1563
-        // console.log(res.data[0].PSInfo)
1564 1788
       });
1565 1789
     },
1566 1790
     getFileUrl() {
@@ -1822,6 +2046,10 @@ export default {
1822 2046
       if (name === "dispatch_daoda") {
1823 2047
         this.getDispatchHaocai();
1824 2048
       }
2049
+      if (name === "schEdit") {
2050
+        this.getDispatchHaocai();
2051
+        this.getDispatchHaocaiEdit();
2052
+      }
1825 2053
       if (name === "fanxiu") {
1826 2054
         this.getReason("FXYY");
1827 2055
       }
@@ -1914,7 +2142,6 @@ export default {
1914 2142
               };
1915 2143
             }
1916 2144
             option.action(params).then((response) => {
1917
-              console.log("处理结果");
1918 2145
               if (response.state === "success") {
1919 2146
                 this.$message({
1920 2147
                   type: "success",
@@ -2051,7 +2278,18 @@ export default {
2051 2278
           }
2052 2279
         }
2053 2280
       }
2054
-
2281
+      if (formName === "carEvaluteForm") {
2282
+        if (
2283
+          this.carEvaluteForm.Attitude < 3 ||
2284
+          this.carEvaluteForm.Quality < 3 ||
2285
+          this.carEvaluteForm.Efficiency < 3
2286
+        ) {
2287
+          if (this.carEvaluteForm.Evaluation === "") {
2288
+            this.$message.warning("请输入文字评价");
2289
+            return;
2290
+          }
2291
+        }
2292
+      }
2055 2293
       this.$refs[formName].validate((valid) => {
2056 2294
         if (valid) {
2057 2295
           console.log(formName);
@@ -2062,7 +2300,7 @@ export default {
2062 2300
             if (this.bbtags.indexOf("急查标本") < 0) {
2063 2301
               this.dealWorkForm.pslist = [];
2064 2302
               // this.dealWorkForm.recipient = "";
2065
-              this.dealWorkForm.isabnormal = "";
2303
+              this.dealWorkForm.isabnormal = "0";
2066 2304
             }
2067 2305
             if (this.dealWorkForm.file === "") {
2068 2306
               // this.$message.error('请上传附件')
@@ -2075,6 +2313,23 @@ export default {
2075 2313
             }
2076 2314
             console.log(this.dealWorkForm);
2077 2315
           }
2316
+          if (formName === "dealEditWorkForm") {
2317
+            const psarr = [];
2318
+            this.dealEditWorkForm.pslist = this.dispatchhaocaiarrEdit;
2319
+            if (this.bbtags.indexOf("急查标本") < 0) {
2320
+              this.dealEditWorkForm.pslist = [];
2321
+              this.dealEditWorkForm.isabnormal = "0";
2322
+            }
2323
+            if (this.dealEditWorkForm.file === "") {
2324
+              // this.$message.error('请上传附件')
2325
+              // return
2326
+            } else {
2327
+              this.dealEditWorkForm.file = this.dealEditWorkForm.file.slice(
2328
+                0,
2329
+                this.dealEditWorkForm.file.length - 1
2330
+              );
2331
+            }
2332
+          }
2078 2333
           if (formName === "collectForm") {
2079 2334
             if (this.collectForm.file === "") {
2080 2335
               // this.$message.error('请上传附件')
@@ -2183,6 +2438,9 @@ export default {
2183 2438
             case "dealWorkForm":
2184 2439
               this.postEvent = postDispatchDealWorkOrder;
2185 2440
               break;
2441
+            case "dealEditWorkForm":
2442
+              this.postEvent = postDispatchDealEditWorkOrder;
2443
+              break;
2186 2444
             case "collectForm":
2187 2445
               this.postEvent = postCollectSpecimens;
2188 2446
               break;
@@ -2289,7 +2547,12 @@ export default {
2289 2547
                     this.dealWorkForm.remark = "";
2290 2548
                     this.dealWorkFormFile = [];
2291 2549
                     this.dealWorkForm.isabnormal = "0";
2292
-                    // this.dealWorkForm.recipient = "";
2550
+                  }
2551
+                  if (this.optionName == "schEdit") {
2552
+                    this.dealEditWorkForm.file = "";
2553
+                    this.dealEditWorkForm.remark = "";
2554
+                    this.dealEditWorkFormFile = [];
2555
+                    this.dealEditWorkForm.isabnormal = "0";
2293 2556
                   }
2294 2557
                   if (this.optionName == "dispatch_shouqubiaoben") {
2295 2558
                     this.collectForm.file = "";

+ 4 - 0
CallCenterWeb.UI/RMYY/src/utils/fieldsData.js

@@ -445,6 +445,10 @@ export default {
445 445
     value: '送达地点'
446 446
   },
447 447
   {
448
+    key: 'details',
449
+    value: '配送信息'
450
+  },
451
+  {
448 452
     key: 'F_AssignTime',
449 453
     value: '申请时间'
450 454
   },

+ 2 - 2
CallCenterWeb.UI/RMYY/src/views/comDispatch/components/dispatchdetail.vue

@@ -94,7 +94,7 @@
94 94
               >
95 95
                 <th :rowspan="orderDetailData.PSInfo.length + 1">配送信息:</th>
96 96
               </tr>
97
-              <tr v-for="(item, index) in orderDetailData.PSInfo" :key="index">
97
+              <tr v-for="(item, index) in orderDetailData.PSInfo" :key="index+0">
98 98
                 <th v-if="item.F_ToDept">送达科室:</th>
99 99
                 <th v-if="item.F_ToDept">
100 100
                   {{
@@ -133,7 +133,7 @@
133 133
                   异常配送信息:
134 134
                 </th>
135 135
               </tr>
136
-              <tr v-for="(item, index) in orderDetailData.SDInfo" :key="index">
136
+              <tr v-for="(item, index) in orderDetailData.SDInfo" :key="index+11">
137 137
                 <th v-if="item.F_ToDept">送达科室:</th>
138 138
                 <th v-if="item.F_ToDept">
139 139
                   {{

+ 6 - 0
CallCenterWeb.UI/RMYY/src/views/comDispatch/scheduleList/index.vue

@@ -142,6 +142,12 @@
142 142
         align="center"
143 143
       />
144 144
       <el-table-column
145
+        v-if="fieldListFlag.details"
146
+        prop="details"
147
+        label="配送信息"
148
+        align="center"
149
+      />
150
+      <el-table-column
145 151
         v-if="fieldListFlag.GapTime"
146 152
         prop="GapTime"
147 153
         label="工单时效"

+ 47 - 3
CallCenterWeb.UI/RMYY/src/views/orderManage/components/cardetail.vue

@@ -119,7 +119,43 @@
119 119
               </el-table>
120 120
             </el-tab-pane>
121 121
             <el-tab-pane label="评价" name="2">
122
-              <el-table :data="evaluateData" border style="width: 100%">
122
+              <div v-if="!evaluateData.F_Attitude">暂无评价</div>
123
+              <div class="evaluate" v-if="evaluateData.F_Attitude">
124
+                <span class="demonstration">服务态度:</span>
125
+                <el-rate
126
+                  v-model="evaluateData.F_Attitude"
127
+                  :texts="texts"
128
+                  show-text
129
+                  disabled
130
+                  style="display: inline-block"
131
+                />
132
+              </div>
133
+              <div class="evaluate" v-if="evaluateData.F_Quality">
134
+                <span class="demonstration">维修质量:</span>
135
+                <el-rate
136
+                  v-model="evaluateData.F_Quality"
137
+                  :texts="texts"
138
+                  show-text
139
+                  disabled
140
+                  style="display: inline-block"
141
+                />
142
+              </div>
143
+              <div class="evaluate" v-if="evaluateData.F_Efficiency">
144
+                <span class="demonstration">完工时效:</span>
145
+                <el-rate
146
+                  v-model="evaluateData.F_Efficiency"
147
+                  :texts="texts"
148
+                  show-text
149
+                  disabled
150
+                  style="display: inline-block"
151
+                />
152
+              </div>
153
+              <div v-if="evaluateData.F_Efficiency">
154
+                <el-col :md="24" style="font-size: 15px; color: #505050">
155
+                  文字评价:{{ evaluateData.F_Evaluator }}</el-col
156
+                >
157
+              </div>
158
+             <!-- <el-table :data="evaluateData" border style="width: 100%">
123 159
                 <el-table-column
124 160
                   prop="F_EvaluateUser"
125 161
                   label="评价人"
@@ -136,7 +172,7 @@
136 172
                   label="评价时间"
137 173
                   align="center"
138 174
                 />
139
-              </el-table>
175
+              </el-table> -->
140 176
             </el-tab-pane>
141 177
           </el-tabs>
142 178
         </el-card>
@@ -167,6 +203,7 @@ export default {
167 203
   },
168 204
   data() {
169 205
     return {
206
+      texts: ["不满意", "不满意", "基本满意", "满意", "满意"],
170 207
       activeName: "1",
171 208
       ChatList: [], // 备注详情列表
172 209
       isChatList: false, // 备注列表是否展示
@@ -235,7 +272,9 @@ export default {
235 272
       };
236 273
       getModelDetail(params).then((response) => {
237 274
         if (num == 2) {
238
-          this.evaluateData = response.data;
275
+          if(response.data.length>0){
276
+            this.evaluateData = response.data[0];
277
+          }
239 278
         }
240 279
         if (num === "1") {
241 280
           this.workOrderCirculationList = response.data;
@@ -339,6 +378,11 @@ export default {
339 378
 </style>
340 379
 
341 380
 <style rel="stylesheet/scss" lang="scss" scoped>
381
+  .evaluate {
382
+    margin: 10px;
383
+    font-size: 15px;
384
+    color: #505050;
385
+  }
342 386
 .order_detail {
343 387
   .order_detail_body {
344 388
     margin-bottom: 20px;

+ 1 - 0
CallCenterWeb.UI/RMYY/src/views/orderManage/mySubmit/index.vue

@@ -346,6 +346,7 @@ export default {
346 346
           data: {
347 347
             wid: rid,
348 348
             isedit: "1",
349
+            typeDisabled:"1"
349 350
           }, // props
350 351
         },
351 352
         area: ["70%", "70%"],

+ 33 - 11
CallCenterWeb.UI/RMYY/src/views/orderManage/mySubmit/repairEdit.vue

@@ -24,6 +24,7 @@
24 24
             <!-- :isedit="isedit" -->
25 25
             <el-form-item label="工单类别" prop="repairOrderType">
26 26
               <select-order-typeTwo
27
+                :isedit="typeDisabled"
27 28
                 :orderTypeparams="ruleForm.repairOrderType"
28 29
                 :second-order-type="secondOrderType"
29 30
                 @post-second-order-type="getSecondOOrderType"
@@ -98,6 +99,7 @@ import { GetPerson } from "@/api/commonAPI";
98 99
 import {
99 100
   GetFaultRepairDetail,
100 101
   MyUpdateFaultRepairWorkOrder,
102
+  UpdateFaultRepair
101 103
 } from "@/api/orderManagement/orderList";
102 104
 import { getAddRepairbase } from "@/api/faultRepairManagement/faultRepair";
103 105
 export default {
@@ -127,6 +129,10 @@ export default {
127 129
       type: String,
128 130
       default: "",
129 131
     },
132
+    typeDisabled: {
133
+      type: String,
134
+      default: "",
135
+    },
130 136
     // iswomanage:{
131 137
     //   type:Number,
132 138
     //   default:''
@@ -361,17 +367,33 @@ export default {
361 367
                   PlaceOfRepair: this.ruleForm.repairAddress, // 报修地点
362 368
                   File: this.ruleForm.repairImageid, // 附件
363 369
                 };
364
-                MyUpdateFaultRepairWorkOrder(params).then((res) => {
365
-                  if (res.state.toLowerCase() === "success") {
366
-                    this.$parent.$layer.close(this.layerid);
367
-                    this.$parent.getList();
368
-                    this.$message({
369
-                      message: "恭喜你,编辑工单成功!",
370
-                      type: "success",
371
-                      duration: 1000,
372
-                    });
373
-                  }
374
-                });
370
+                if(this.typeDisabled=='1'){
371
+                  MyUpdateFaultRepairWorkOrder(params).then((res) => {
372
+                    if (res.state.toLowerCase() === "success") {
373
+                      this.$parent.$layer.close(this.layerid);
374
+                      this.$parent.getList();
375
+                      this.$message({
376
+                        message: "恭喜你,编辑工单成功!",
377
+                        type: "success",
378
+                        duration: 1000,
379
+                      });
380
+                    }
381
+                  });
382
+                }
383
+                if(this.typeDisabled=='0'){
384
+                  UpdateFaultRepair(params).then((res) => {
385
+                    if (res.state.toLowerCase() === "success") {
386
+                      this.$parent.$layer.close(this.layerid);
387
+                      this.$parent.getList();
388
+                      this.$message({
389
+                        message: "恭喜你,编辑工单成功!",
390
+                        type: "success",
391
+                        duration: 1000,
392
+                      });
393
+                    }
394
+                  });
395
+                }
396
+
375 397
               }
376 398
             } else {
377 399
               return false;

+ 1 - 0
CallCenterWeb.UI/RMYY/src/views/orderManage/orderList/index.vue

@@ -379,6 +379,7 @@
379 379
             data: {
380 380
               wid: rid,
381 381
               isedit: "1",
382
+              typeDisabled:"0"
382 383
             }, // props
383 384
           },
384 385
           area: ["70%", "70%"],

+ 57 - 20
CallCenterWeb.UI/RMYY/src/views/vehicleDispatch/driverOrder/driverOrderdetail.vue

@@ -18,18 +18,19 @@
18 18
       <el-table-column prop="F_DepartPlace" label="出发地" align="center" />
19 19
       <el-table-column prop="F_Destination" label="目的地" align="center" />
20 20
       <el-table-column prop="F_UseTime" label="用车时间" align="center" />
21
-     <!-- <el-table-column label="操作" align="center" class-name="oparate_btn">
21
+      <el-table-column label="操作" align="center" class-name="oparate_btn">
22 22
         <template slot-scope="scope">
23
-          <el-button v-show="scope.$index==0" v-for="item in scope.row.Buttons" :key="item.key" type="text"
23
+          <el-button v-show="scope.$index==0" v-for="item in scope.row.Buttons" :key="item.key+0" type="text"
24 24
             @click="btnClickEvents(item, scope.row.F_WorkOrderCode, scope.row,scope.$index)">
25 25
             {{ item.value }}
26 26
           </el-button>
27
-          <el-button v-show="scope.$index!=0&&selectarr[scope.$index-1].F_State==10" v-for="item in scope.row.Buttons" :key="item.key" type="text"
27
+          <el-button v-show="scope.$index!=0&&(selectarr[scope.$index-1].F_State==7||selectarr[scope.$index-1].F_State==10)" v-for="item in scope.row.Buttons"
28
+            :key="item.key+1" type="text"
28 29
             @click="btnClickEvents(item, scope.row.F_WorkOrderCode, scope.row,scope.$index)">
29 30
             {{ item.value }}
30 31
           </el-button>
31 32
         </template>
32
-      </el-table-column> -->
33
+      </el-table-column>
33 34
     </el-table>
34 35
     <!-- 退回 -->
35 36
     <el-dialog :visible.sync="dialog_tuihui" :append-to-body="true" title="退回">
@@ -49,13 +50,19 @@
49 50
     <!-- 评价 -->
50 51
     <el-dialog :visible.sync="dialog_pingjia" :append-to-body="true" title="评价">
51 52
       <el-form ref="carEvaluteForm" :model="carEvaluteForm" :rules="rules" label-width="100px">
52
-        <el-form-item label="评价内容">
53
+        <el-form-item label="服务态度" prop="Attitude">
54
+          <el-rate v-model="carEvaluteForm.Attitude" :texts="evaluateText" show-text />
55
+        </el-form-item>
56
+        <el-form-item label="服务质量" prop="Quality">
57
+          <el-rate v-model="carEvaluteForm.Quality" :texts="evaluateText" show-text />
58
+        </el-form-item>
59
+        <el-form-item label="完成时效" prop="Efficiency">
60
+          <el-rate v-model="carEvaluteForm.Efficiency" :texts="evaluateText" show-text />
61
+        </el-form-item>
62
+        <el-form-item label="文字评价" prop="Evaluation">
53 63
           <el-input :autosize="{ minRows: 4, maxRows: 8 }" v-model="carEvaluteForm.Evaluation" show-word-limit
54 64
             maxlength="100" type="textarea" />
55 65
         </el-form-item>
56
-        <el-form-item label="分值">
57
-          <el-rate v-model="carEvaluteForm.score" :texts="evaluateText" show-text />
58
-        </el-form-item>
59 66
       </el-form>
60 67
       <div slot="footer" class="dialog-footer">
61 68
         <el-button @click="dialog_pingjia = false">取 消</el-button>
@@ -113,12 +120,15 @@
113 120
     },
114 121
     data() {
115 122
       return {
116
-        carEvaluteForm:{
117
-          score:0,
118
-          Evaluation:''
123
+        carEvaluteForm: {
124
+          // score: 0,
125
+          Attitude: 0,
126
+          Quality: 0,
127
+          Efficiency: 0,
128
+          Evaluation: ''
119 129
         },
120 130
         evaluateText: ["不满意", "不满意", "基本满意", "满意", "满意"],
121
-        dialog_pingjia:false,
131
+        dialog_pingjia: false,
122 132
         dialog_tuihui: false,
123 133
         reasonStr: '',
124 134
         BackForm: {
@@ -143,12 +153,34 @@
143 153
           id: 0,
144 154
           name: ''
145 155
         },
146
-        rules: {},
156
+        rules: {
157
+          Attitude: [
158
+            {
159
+              required: true,
160
+              message: "请选择服务态度",
161
+              trigger: "blur",
162
+            },
163
+          ],
164
+          Quality: [
165
+            {
166
+              required: true,
167
+              message: "请选择维修质量",
168
+              trigger: "blur",
169
+            },
170
+          ],
171
+          Efficiency: [
172
+            {
173
+              required: true,
174
+              message: "请选择完工时效",
175
+              trigger: "blur",
176
+            },
177
+          ],
178
+        },
147 179
         ruleForm: {
148 180
           carid: '',
149 181
           driver: ''
150 182
         },
151
-        ordercode:'',
183
+        ordercode: '',
152 184
         deptid: [],
153 185
         selectarr: [],
154 186
         loading: false
@@ -193,17 +225,22 @@
193 225
           }
194 226
         })
195 227
       },
196
-      submitEvaluateForm(formName){
228
+      submitEvaluateForm(formName) {
197 229
         const params = {
198 230
           WorkOrderCode: this.ordercode,
199 231
           Evaluation: this.carEvaluteForm.Evaluation,
200
-          score: this.carEvaluteForm.score
232
+          Attitude:this.carEvaluteForm.Attitude,
233
+          Quality:this.carEvaluteForm.Quality,
234
+          Efficiency:this.carEvaluteForm.Efficiency
235
+          // score: this.carEvaluteForm.score
201 236
         }
202
-        getCarEvaluateWorkorder(params).then(res=>{
237
+        getCarEvaluateWorkorder(params).then(res => {
203 238
           if (res.state == "success") {
204 239
             this.dialog_pingjia = false
205 240
             this.carEvaluteForm.Evaluation = ''
206
-            this.carEvaluteForm.score = 0
241
+            this.carEvaluteForm.Attitude = 0
242
+            this.carEvaluteForm.Quality = 0
243
+            this.carEvaluteForm.Efficiency = 0
207 244
             this.$message.success("评价成功!");
208 245
             this.$parent.$layer.close(this.layerid)
209 246
             this.$parent.getList();
@@ -224,7 +261,7 @@
224 261
           title: "工单详情",
225 262
         });
226 263
       },
227
-      btnClickEvents(button, wocode, row,index) {
264
+      btnClickEvents(button, wocode, row, index) {
228 265
         console.log(index)
229 266
         if (button.value == '接单') {
230 267
           this.getJieDan()
@@ -316,7 +353,7 @@
316 353
           });
317 354
       },
318 355
       //评价
319
-      getPingJia(wocode){
356
+      getPingJia(wocode) {
320 357
 
321 358
       },
322 359
       getDetail() {

+ 47 - 3
CallCenterWeb.UI/RMYY/src/views/vehicleDispatch/vehicleScheduling/vehicleSchedulingList/components/detail.vue

@@ -132,7 +132,43 @@
132 132
               </el-table>
133 133
             </el-tab-pane>
134 134
             <el-tab-pane label="评价" name="2">
135
-              <el-table :data="evaluateData" border style="width: 100%">
135
+              <div v-if="!evaluateData.F_Attitude">暂无评价</div>
136
+              <div class="evaluate" v-if="evaluateData.F_Attitude">
137
+                <span class="demonstration">服务态度:</span>
138
+                <el-rate
139
+                  v-model="evaluateData.F_Attitude"
140
+                  :texts="texts"
141
+                  show-text
142
+                  disabled
143
+                  style="display: inline-block"
144
+                />
145
+              </div>
146
+              <div class="evaluate" v-if="evaluateData.F_Quality">
147
+                <span class="demonstration">维修质量:</span>
148
+                <el-rate
149
+                  v-model="evaluateData.F_Quality"
150
+                  :texts="texts"
151
+                  show-text
152
+                  disabled
153
+                  style="display: inline-block"
154
+                />
155
+              </div>
156
+              <div class="evaluate" v-if="evaluateData.F_Efficiency">
157
+                <span class="demonstration">完工时效:</span>
158
+                <el-rate
159
+                  v-model="evaluateData.F_Efficiency"
160
+                  :texts="texts"
161
+                  show-text
162
+                  disabled
163
+                  style="display: inline-block"
164
+                />
165
+              </div>
166
+              <div v-if="evaluateData.F_Efficiency">
167
+                <el-col :md="24" style="font-size: 15px; color: #505050">
168
+                  文字评价:{{ evaluateData.F_Evaluator }}</el-col
169
+                >
170
+              </div>
171
+              <!-- <el-table :data="evaluateData" border style="width: 100%">
136 172
                 <el-table-column
137 173
                   prop="F_EvaluateUser"
138 174
                   label="评价人"
@@ -149,7 +185,7 @@
149 185
                   label="评价时间"
150 186
                   align="center"
151 187
                 />
152
-              </el-table>
188
+              </el-table> -->
153 189
             </el-tab-pane>
154 190
           </el-tabs>
155 191
         </el-card>
@@ -184,6 +220,7 @@ export default {
184 220
   },
185 221
   data() {
186 222
     return {
223
+      texts: ["不满意", "不满意", "基本满意", "满意", "满意"],
187 224
       activeName: "1",
188 225
       imgUrl: this.$store.getters.serverConfig.BASE_API,
189 226
       orderDetailData: {
@@ -237,7 +274,9 @@ export default {
237 274
           this.workOrderCirculationList = response.data;
238 275
         }
239 276
         if (num == 2) {
240
-          this.evaluateData = response.data;
277
+          if(response.data.length>0){
278
+            this.evaluateData = response.data[0];
279
+          }
241 280
         }
242 281
       });
243 282
     },
@@ -246,6 +285,11 @@ export default {
246 285
 </script>
247 286
 
248 287
 <style rel="stylesheet/scss" lang="scss">
288
+  .evaluate {
289
+    margin: 10px;
290
+    font-size: 15px;
291
+    color: #505050;
292
+  }
249 293
 .order_detail {
250 294
   // .el-col {
251 295
   //   margin-bottom: 20px;

+ 1 - 0
CallCenterWeb.UI/RMYYAPP/pages/myTask/comDispatch/applicantList/applicantList.vue

@@ -32,6 +32,7 @@
32 32
 								</view>
33 33
 								<view class="uni-note">工单内容:{{item.F_Content}}</view>
34 34
 								<view class="uni-note">申请时间:{{item.F_CreateTime}}</view>
35
+								<view class="uni-note">科室位置:{{item.F_Location}}</view>
35 36
 							</view>
36 37
 							<view class="textState">{{ item.StateName}}</view>
37 38
 							<view class="textState" style="right: 85px;" v-show="item.F_UrgeCount>0">催办 {{item.F_UrgeCount}}</view>

+ 4 - 0
CallCenterWeb.UI/RMYYAPP/pages/myTask/comDispatch/comDispatchDetail/comDispatchDetail.vue

@@ -28,6 +28,10 @@
28 28
           $mHelper.findParents(departList, detailContentData.F_ApplicationDept)
29 29
         }}</text>
30 30
       </view>
31
+	  <view class="contentTable">
32
+	    <text class="contentTitle">科室位置:</text>
33
+	    <text class="contentText">{{ detailContentData.F_Location }}</text>
34
+	  </view>
31 35
       <view class="contentTable">
32 36
         <text class="contentTitle">科室电话:</text>
33 37
         <text class="contentText">{{ detailContentData.F_DeptPhone }}</text>

+ 19 - 4
CallCenterWeb.UI/RMYYAPP/pages/myTask/vehicleSchedulList/components/vehiccleDetail/evaluateDetail/evaluateDetail.vue

@@ -4,9 +4,18 @@
4 4
 		<view class="form">
5 5
 			<!-- 基础表单校验 -->
6 6
 			<uni-forms ref="valiForm" :rules="rules" :modelValue="valiFormData">
7
-				<uni-forms-item label="分值"  name="score" >
8
-					<htz-rate v-model="valiFormData.score" :type="2"></htz-rate>
7
+				<uni-forms-item label="服务态度" name="attitude">
8
+					<htz-rate v-model="valiFormData.attitude" :type="2"></htz-rate>
9
+				</uni-forms-item>
10
+				<uni-forms-item label="维修态度" name="quality">
11
+					<htz-rate v-model="valiFormData.quality" :type="2"></htz-rate>
9 12
 				</uni-forms-item>
13
+				<uni-forms-item label="完工时效" name="finishTime">
14
+					<htz-rate v-model="valiFormData.finishTime" :type="2"></htz-rate>
15
+				</uni-forms-item>
16
+				<!-- <uni-forms-item label="分值"  name="score" >
17
+					<htz-rate v-model="valiFormData.score" :type="2"></htz-rate>
18
+				</uni-forms-item> -->
10 19
 				<uni-forms-item label="评价内容" required  name="Evaluation">
11 20
 					<uni-easyinput type="textarea" v-model="valiFormData.Evaluation" placeholder="请输入完成说明(限100字)" maxlength="100"/>
12 21
 				</uni-forms-item>
@@ -32,7 +41,10 @@
32 41
 				// 校验表单数据
33 42
 				valiFormData: {
34 43
 					workorderid: '',
35
-					score:0, // 分值 score
44
+					// score:0, // 分值 score
45
+					attitude:0,
46
+					quality:0,
47
+					finishTime:0,
36 48
 					Evaluation: '', // 评价内容
37 49
 				},
38 50
 				// 校验规则
@@ -57,7 +69,10 @@
57 69
 					const params = {
58 70
 					  WorkOrderCode: this.valiFormData.workorderid,
59 71
 					  Evaluation: this.valiFormData.Evaluation,
60
-						score: this.valiFormData.score
72
+					  Attitude:this.valiFormData.attitude,
73
+					  Quality:this.valiFormData.quality,
74
+					  Efficiency:this.valiFormData.finishTime
75
+					  // score: this.valiFormData.score
61 76
 					}
62 77
 					console.log(this.valiFormData)
63 78
 					this.$mHelper.httpPost("T_Car_WorkOrder/EvaluateWorkorder",params,2,res=>this.disabledButton=res)