Ver Fonte

Merge branch 'dev' of http://172.16.100.139/new-business/drp-web into dev

DongZ há 1 ano atrás
pai
commit
f5bd9af0bb

+ 53 - 0
src/api/expend/customerExpend.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 列表
+export function queryList(data) {
+  return request({
+    url: `/pu/ccd/list`,
+    method: 'get',
+    data: data
+  })
+}
+// 详情
+export function ccdItem(id) {
+  return request({
+    url: `/pu/ccd/${id}`,
+    method: 'get',
+  })
+}
+
+// 编辑
+export function editItem(data) {
+  return request({
+    url: `/pu/ccd`,
+    method: 'put',
+    data: data,
+  })
+}
+
+// 提交
+export function submit(data) {
+  return request({
+    url: `/pu/ccd/submit`,
+    method: 'post',
+    data: data,
+  })
+}
+
+// 转销售订单
+export function toSaleOrder(data) {
+  return request({
+    url: `/pu/ccd/toSaleOrder`,
+    method: 'post',
+    data: data,
+  })
+}
+
+// 操作状态
+export function operationStatus(data) {
+  return request({
+    url: `/pu/ccd/operationStatus`,
+    method: 'post',
+    data: data,
+  })
+}

+ 49 - 0
src/api/expend/expendMx.js

@@ -0,0 +1,49 @@
+import request from '@/utils/request'
+
+// 消耗单明细列表
+export function mxList(data) {
+  return request({
+    url: `/pu/doc/list`,
+    method: 'post',
+    data: data
+  })
+}
+// 消耗单明细下拉数据
+export function pullMx(data) {
+  return request({
+    url: `/pu/doc/addToSpdConsumerDocAndItem`,
+    method: 'post',
+    data: data
+  })
+}
+// 消耗单明细详情
+export function Mxdetail(id) {
+  return request({
+    url: `/pu/doc/${id}`,
+    method: 'get',
+  })
+}
+// 消耗单明细汇总
+export function huizongMX(data) {
+  return request({
+    url: `/pu/doc/pullToCcd`,
+    method: 'post',
+    data: data
+  })
+}
+// 消耗单明细下拉数据
+export function editSaveMx(data) {
+  return request({
+    url: `/pu/doc`,
+    method: 'put',
+    data: data
+  })
+}
+// 消耗单明细提交OA
+export function toOAs(data) {
+  return request({
+    url: `/pu/doc/toOa`,
+    method: 'post',
+    data: data
+  })
+}

+ 1 - 1
src/api/purchase/supAtttachment.js

@@ -14,6 +14,6 @@ export function download(data) {
   return request({
     url: `/download`,
     method: 'post',
-    data,
+    data: data,
   })
 }

+ 2 - 0
src/components/popover-select-v2/index.vue

@@ -227,6 +227,8 @@ export default {
           source[key] = prop[0][dataMapping[key]];
         }
         this.innerValue = prop[0][valueKey];
+        console.log(source, "source");
+        console.log(prop[0], this.$props, "prop[0], this.$props");
         this.$emit("update:source", source);
         this.$emit("change", prop[0], this.$props);
       }

+ 25 - 28
src/views/business/ehr/pm/awaitMarkPm/detail.vue

@@ -31,15 +31,22 @@
           <el-descriptions :column="6 ">
             <el-descriptions-item label="自评分" v-if="form.status > 3">{{form.saMark}}</el-descriptions-item>
           </el-descriptions>
-          <el-descriptions v-if="form.status > 3">
-            <el-descriptions-item label="个人总结">{{form.summary}}</el-descriptions-item>
-          </el-descriptions>
-          <div style="  display: flex;align-items: flex-start;justify-content: flex-start;margin-top: -20px;" v-if="form.status > 4">
-            <p>总评语:</p>
-            <div style="margin-left: 18px;font-size: 15px;">
-              <p v-for="(item,index) in comment" :key="index">{{item[0]}}:{{item[1]}}</p>
-            </div>
-          </div>
+          <el-row style="color: #606266;font-size: 14px;" v-if="form.status > 3">
+            <el-col :span="2">
+              个人总结:
+            </el-col>
+            <el-col :span="22">
+              <div style="white-space: pre-wrap;text-align: left">{{form.summary}}</div>
+            </el-col>
+          </el-row>
+          <el-row style="margin-top:10px;color: #606266;font-size: 14px;" v-if="form.status > 4">
+            <el-col :span="2">
+              总评语:
+            </el-col>
+            <el-col :span="22">
+              <div v-for="(item,index) in comment" :key="index">{{item[0]}}:{{item[1]}}</div>
+            </el-col>
+          </el-row>
           <div v-if="flow.status == 0">
             <el-form-item label="总评语" prop="remark">
               <el-input type="textarea" v-model="form.remark"></el-input>
@@ -47,33 +54,33 @@
           </div>
           <el-table size="mini"  :data="form.performanceItem" show-summary :summary-method="getSummaries" border :key="refreshTable">
             <el-table-column type="index" width="50" label="序号"/>
-            <el-table-column width="100" :show-overflow-tooltip="!isUnfold" label="评估方面" align="center" prop="aspect">
+            <el-table-column width="100" label="评估方面" align="center" prop="aspect">
               <template slot-scope="scope">
                 <dict-tag :options="dict.type.ehr_pm_aspect" :value="scope.row.aspect"/>
               </template>
             </el-table-column>
-            <el-table-column width="100" :show-overflow-tooltip="!isUnfold" label="评估指标" align="center" prop="target" />
+            <el-table-column width="100" label="评估指标" align="center" prop="target" />
             <el-table-column width="80" label="权重(%)" align="center" prop="weight">
               <template slot-scope="scope">
                 {{scope.row.asItem ? "+/-" : scope.row.weight}}
               </template>
             </el-table-column>
-            <el-table-column :show-overflow-tooltip="!isUnfold" label="指标说明" align="center" prop="instructions">
+            <el-table-column label="指标说明" align="center" prop="instructions">
               <template slot-scope="scope">
                 <div style="white-space: pre-wrap;text-align: left">{{scope.row.instructions}}</div>
               </template>
             </el-table-column>
-            <el-table-column :show-overflow-tooltip="!isUnfold" label="评分标准" align="center" prop="standard">
+            <el-table-column label="评分标准" align="center" prop="standard">
               <template slot-scope="scope">
                 <div style="white-space: pre-wrap;text-align: left">{{scope.row.standard}}</div>
               </template>
             </el-table-column>
             <el-table-column width="100" label="数据来源" align="center" prop="source" />
             <el-table-column width="80" label="自评分" align="center" prop="selfScoring"/>
-            <el-table-column :show-overflow-tooltip="!isUnfold" label="自评语" align="center" prop="selfComment"/>
+            <el-table-column label="自评语" align="center" prop="selfComment"/>
             <el-table-column width="80" label="评估人" align="center" prop="evaluatorName" v-if="form.isTwoEvaluation"/>
             <el-table-column width="80" label="上级评分" align="center" prop="leaderScoring" v-if="flow.status != 0"/>
-            <el-table-column :show-overflow-tooltip="!isUnfold" label="评分说明" align="center" prop="leaderComment" v-if="flow.status != 0"/>
+            <el-table-column label="评分说明" align="center" prop="leaderComment" v-if="flow.status != 0"/>
             <el-table-column width="85" label="上级评分" align="center" prop="leaderScoring" :render-header="addRedStar" v-if="flow.status == 0">
               <template slot-scope="scope">
                 <el-form-item :prop="'performanceItem.'+scope.$index+'.leaderScoring'" :rules="{required: true,message: ' ',trigger: 'blur'}">
@@ -82,7 +89,7 @@
                 </el-form-item>
               </template>
             </el-table-column>
-            <el-table-column :show-overflow-tooltip="!isUnfold" label="评分说明" align="center" prop="leaderComment" v-if="flow.status == 0">
+            <el-table-column label="评分说明" align="center" prop="leaderComment" v-if="flow.status == 0">
               <template slot-scope="scope">
                 <el-form-item :prop="'performanceItem.'+scope.$index+'.leaderComment'">
                   <el-input v-if="scope.row.evaluator.includes($store.state.user.name)" size="mini" type="textarea" v-model="scope.row.leaderComment"/>
@@ -138,8 +145,6 @@ export default {
           { required: true, message: "驳回原因不能为空", trigger: "blur" },
         ],
       },
-      //是否展开
-      isUnfold:false,
       //是否显驳回弹出层
       turnDownOpen:false,
       //上级评分
@@ -199,20 +204,12 @@ export default {
          this.loading = false;
       })
     },
-    //展开/收起
-    btnUnfold(){
-      this.isUnfold = !this.isUnfold;
-    },
     //合计
     getSummaries(param){
       const { columns, data } = param;
       let ldMark = 0;
-      if(this.form.ldMark){
-        ldMark = this.form.ldMark;
-      }else{
-        ldMark = data.reduce((sum, e) => sum + (e.asItem ? Number(e.leaderScoring || 0) : Number(e.leaderScoring || 0) * (Number(e.weight || 0) / 100)), 0);
-        ldMark = ldMark.toFixed(1);
-      }
+      ldMark = data.reduce((sum, e) => sum + (e.asItem ? Number(e.leaderScoring || 0) : Number(e.leaderScoring || 0) * (Number(e.weight || 0) / 100)), 0);
+      ldMark = ldMark.toFixed(1);
       this.lldMark = ldMark;
       if(this.form.isTwoEvaluation){
         return ['合计','','',this.form.weight,'','','',this.form.saMark,'','',ldMark];

+ 9 - 14
src/views/business/ehr/pm/awaitVerifyPm/detail.vue

@@ -29,23 +29,23 @@
         </el-descriptions>
         <el-table size="mini"  :data="form.performanceItem" show-summary :summary-method="getSummaries" border>
           <el-table-column type="index" width="50" label="序号"/>
-          <el-table-column width="100" :show-overflow-tooltip="!isUnfold" label="评估方面" align="center" prop="aspect">
+          <el-table-column width="100" label="评估方面" align="center" prop="aspect">
             <template slot-scope="scope">
               <dict-tag :options="dict.type.ehr_pm_aspect" :value="scope.row.aspect"/>
             </template>
           </el-table-column>
-          <el-table-column width="100" :show-overflow-tooltip="!isUnfold" label="评估指标" align="center" prop="target" />
+          <el-table-column width="100" label="评估指标" align="center" prop="target" />
           <el-table-column width="80" label="权重(%)" align="center" prop="weight">
               <template slot-scope="scope">
                 {{scope.row.asItem ? "+/-" : scope.row.weight}}
               </template>
             </el-table-column>
-          <el-table-column :show-overflow-tooltip="!isUnfold" label="指标说明" align="center" prop="instructions">
+          <el-table-column label="指标说明" align="center" prop="instructions">
             <template slot-scope="scope">
               <div style="white-space: pre-wrap;text-align: left">{{scope.row.instructions}}</div>
             </template>
           </el-table-column>
-          <el-table-column :show-overflow-tooltip="!isUnfold" label="评分标准" align="center" prop="standard">
+          <el-table-column label="评分标准" align="center" prop="standard">
             <template slot-scope="scope">
               <div style="white-space: pre-wrap;text-align: left">{{scope.row.standard}}</div>
             </template>
@@ -92,8 +92,6 @@ export default {
           { required: true, message: "驳回原因不能为空", trigger: "blur" },
         ],
       },
-      //是否展开
-      isUnfold:false,
       //是否显驳回弹出层
       turnDownOpen:false,
     };
@@ -125,16 +123,13 @@ export default {
          this.loading = false;
       })
     },
-    //展开/收起
-    btnUnfold(){
-      this.isUnfold = !this.isUnfold;
-    },
     //合计
     getSummaries(param){
-      const { columns, data } = param;
-      let val = data.reduce((sum, e) => sum + Number(e.weight || 0), 0);
-      this.weightSum = val;
-      return ['合计','','',val,'','','',this.form.saMark,'',this.form.ldMark];
+      if(this.form.isTwoEvaluation){
+        return ['合计','','',this.form.weight,'','','',this.form.saMark,'','',this.form.ldMark];
+      }else{
+        return ['合计','','',this.form.weight,'','','',this.form.saMark,'',this.form.ldMark];
+      }
     },
     //驳回
     btnTurnDown(){

+ 22 - 17
src/views/business/ehr/pm/finishMarkPm/detail.vue

@@ -35,45 +35,52 @@
             <el-descriptions-item label="上级评分">{{form.ldMark}}</el-descriptions-item>
             <el-descriptions-item label="综合得分">{{form.mark}}</el-descriptions-item>
           </el-descriptions>
-          <el-descriptions>
-            <el-descriptions-item label="个人总结">{{form.summary}}</el-descriptions-item>
-          </el-descriptions>
-          <div style="  display: flex;align-items: flex-start;justify-content: flex-start;margin-top: -20px;">
-            <p>总评语:</p>
-            <div style="margin-left: 18px;font-size: 15px;">
-              <p v-for="(item,index) in comment" :key="index">{{item[0]}}:{{item[1]}}</p>
-            </div>
-          </div>
+          <el-row style="color: #606266;font-size: 14px;" v-if="form.status > 3">
+            <el-col :span="2">
+              个人总结:
+            </el-col>
+            <el-col :span="22">
+              <div style="white-space: pre-wrap;text-align: left">{{form.summary}}</div>
+            </el-col>
+          </el-row>
+          <el-row style="margin-top:10px;color: #606266;font-size: 14px;" v-if="form.status > 4">
+            <el-col :span="2">
+              总评语:
+            </el-col>
+            <el-col :span="22">
+              <div v-for="(item,index) in comment" :key="index">{{item[0]}}:{{item[1]}}</div>
+            </el-col>
+          </el-row>
           
           <el-table size="mini"  :data="form.performanceItem" show-summary :summary-method="getSummaries" border>
             <el-table-column type="index" width="50" label="序号"/>
-            <el-table-column width="100" :show-overflow-tooltip="!isUnfold" label="评估方面" align="center" prop="aspect">
+            <el-table-column width="100" label="评估方面" align="center" prop="aspect">
               <template slot-scope="scope">
                 <dict-tag :options="dict.type.ehr_pm_aspect" :value="scope.row.aspect"/>
               </template>
             </el-table-column>
-            <el-table-column width="100" :show-overflow-tooltip="!isUnfold" label="评估指标" align="center" prop="target" />
+            <el-table-column width="100" label="评估指标" align="center" prop="target" />
             <el-table-column width="80" label="权重(%)" align="center" prop="weight">
               <template slot-scope="scope">
                 {{scope.row.asItem ? "+/-" : scope.row.weight}}
               </template>
             </el-table-column>
-            <el-table-column :show-overflow-tooltip="!isUnfold" label="指标说明" align="center" prop="instructions">
+            <el-table-column label="指标说明" align="center" prop="instructions">
               <template slot-scope="scope">
                 <div style="white-space: pre-wrap;text-align: left">{{scope.row.instructions}}</div>
               </template>
             </el-table-column>
-            <el-table-column :show-overflow-tooltip="!isUnfold" label="评分标准" align="center" prop="standard">
+            <el-table-column label="评分标准" align="center" prop="standard">
               <template slot-scope="scope">
                 <div style="white-space: pre-wrap;text-align: left">{{scope.row.standard}}</div>
               </template>
             </el-table-column>
             <el-table-column width="100" label="数据来源" align="center" prop="source"/>
             <el-table-column width="80" label="自评分" align="center" prop="selfScoring"/>
-            <el-table-column :show-overflow-tooltip="!isUnfold" label="自评语" align="center" prop="selfComment"/>
+            <el-table-column label="自评语" align="center" prop="selfComment"/>
             <el-table-column width="80" label="评估人" align="center" prop="evaluatorName" v-if="form.isTwoEvaluation"/>
             <el-table-column width="80" label="上级评分" align="center" prop="leaderScoring"/>
-            <el-table-column :show-overflow-tooltip="!isUnfold" label="上级评语" align="center" prop="leaderComment"/>
+            <el-table-column label="上级评语" align="center" prop="leaderComment"/>
           </el-table>
         </el-form>
       </div>
@@ -103,8 +110,6 @@ export default {
       form:{},
       //遮罩
       loading: false,
-      //是否展开
-      isUnfold:false,
       //明细权重合计值
       weightSum: 0,
     }

+ 9 - 10
src/views/business/ehr/pm/finishVerifyPm/detail.vue

@@ -31,23 +31,23 @@
           </el-descriptions>
           <el-table size="mini"  :data="form.performanceItem" show-summary :summary-method="getSummaries" border>
             <el-table-column type="index" width="50" label="序号"/>
-            <el-table-column width="100" :show-overflow-tooltip="!isUnfold" label="评估方面" align="center" prop="aspect">
+            <el-table-column width="100" label="评估方面" align="center" prop="aspect">
               <template slot-scope="scope">
                 <dict-tag :options="dict.type.ehr_pm_aspect" :value="scope.row.aspect"/>
               </template>
             </el-table-column>
-            <el-table-column width="100" :show-overflow-tooltip="!isUnfold" label="评估指标" align="center" prop="target" />
+            <el-table-column width="100" label="评估指标" align="center" prop="target" />
             <el-table-column width="80" label="权重(%)" align="center" prop="weight">
               <template slot-scope="scope">
                 {{scope.row.asItem ? "+/-" : scope.row.weight}}
               </template>
             </el-table-column>
-            <el-table-column :show-overflow-tooltip="!isUnfold" label="指标说明" align="center" prop="instructions">
+            <el-table-column label="指标说明" align="center" prop="instructions">
               <template slot-scope="scope">
                 <div style="white-space: pre-wrap;text-align: left">{{scope.row.instructions}}</div>
               </template>
             </el-table-column>
-            <el-table-column :show-overflow-tooltip="!isUnfold" label="评分标准" align="center" prop="standard">
+            <el-table-column label="评分标准" align="center" prop="standard">
               <template slot-scope="scope">
                 <div style="white-space: pre-wrap;text-align: left">{{scope.row.standard}}</div>
               </template>
@@ -82,8 +82,6 @@ export default {
       form:{},
       //遮罩
       loading: false,
-      //是否展开
-      isUnfold:false,
       //明细权重合计值
       weightSum: 0,
     }
@@ -145,10 +143,11 @@ export default {
     },
     //合计
     getSummaries(param){
-      const { columns, data } = param;
-      let val = data.reduce((sum, e) => sum + Number(e.weight || 0), 0);
-      this.weightSum = val;
-      return ['合计','','',val,'','','',this.form.saMark,'',this.form.ldMark];
+      if(this.form.isTwoEvaluation){
+        return ['合计','','',this.form.weight,'','','',this.form.saMark,'','',this.form.ldMark];
+      }else{
+        return ['合计','','',this.form.weight,'','','',this.form.saMark,'',this.form.ldMark];
+      }
     },
   }
 }

+ 34 - 29
src/views/business/ehr/pm/myPm/detail.vue

@@ -36,20 +36,27 @@
             <el-descriptions-item label="上级评分" v-if="form.status > 4">{{form.ldMark}}</el-descriptions-item>
             <el-descriptions-item label="综合得分" v-if="form.status > 4">{{form.mark}}</el-descriptions-item>
           </el-descriptions>
-          <el-descriptions v-if="form.status > 3">
-            <el-descriptions-item label="个人总结">{{form.summary}}</el-descriptions-item>
-          </el-descriptions>
+          <el-row style="color: #606266;font-size: 14px;" v-if="form.status > 3">
+            <el-col :span="2">
+              个人总结:
+            </el-col>
+            <el-col :span="22">
+              <div style="white-space: pre-wrap;text-align: left">{{form.summary}}</div>
+            </el-col>
+          </el-row>
           <div v-if="this.$store.state.user.name == form.staff && form.status == '3'">
             <el-form-item label="个人总结" prop="summary">
               <el-input type="textarea" placeholder="总结本月工作的亮点和暗点" v-model="form.summary"></el-input>
             </el-form-item>
           </div>
-          <div style="  display: flex;align-items: flex-start;justify-content: flex-start;margin-top: -20px;" v-if="form.status > 4">
-            <p>总评语:</p>
-            <div style="margin-left: 18px;font-size: 15px;">
-              <p v-for="(item,index) in comment" :key="index">{{item[0]}}:{{item[1]}}</p>
-            </div>
-          </div>
+          <el-row style="margin-top:10px;color: #606266;font-size: 14px;" v-if="form.status > 4">
+            <el-col :span="2">
+              总评语:
+            </el-col>
+            <el-col :span="22">
+              <div v-for="(item,index) in comment" :key="index">{{item[0]}}:{{item[1]}}</div>
+            </el-col>
+          </el-row>
 
           <div style="float: right; padding: 3px 0; display:flex;justify-content:space-between">
             <el-button type="primary" size="mini" @click="btnAddRow" v-if="this.$store.state.user.name == form.staff && form.status == '0' && form.performanceItem.length <= 4">增加指标</el-button>
@@ -57,23 +64,23 @@
           </div>
           <el-table size="mini"  :data="form.performanceItem" show-summary :summary-method="getSummaries" border :key="refreshTable">
             <el-table-column type="index" width="50" align="center" label="序号"/>
-            <el-table-column width="100" :show-overflow-tooltip="!isUnfold" label="评估方面" align="center" prop="aspect">
+            <el-table-column width="100" label="评估方面" align="center" prop="aspect">
               <template slot-scope="scope">
                 <dict-tag :options="dict.type.ehr_pm_aspect" :value="scope.row.aspect"/>
               </template>
             </el-table-column>
-            <el-table-column width="100" :show-overflow-tooltip="!isUnfold" label="评估指标" align="center" prop="target" />
+            <el-table-column width="100" label="评估指标" align="center" prop="target" />
             <el-table-column width="80" label="权重(%)" align="center" prop="weight">
               <template slot-scope="scope">
                 {{scope.row.asItem ? "+/-" : scope.row.weight}}
               </template>
             </el-table-column>
-            <el-table-column :show-overflow-tooltip="!isUnfold" label="指标说明" align="center" prop="instructions">
+            <el-table-column label="指标说明" align="center" prop="instructions">
               <template slot-scope="scope">
                 <div style="white-space: pre-wrap;text-align: left">{{scope.row.instructions}}</div>
               </template>
             </el-table-column>
-            <el-table-column :show-overflow-tooltip="!isUnfold" label="评分标准" align="center" prop="standard">
+            <el-table-column label="评分标准" align="center" prop="standard">
               <template slot-scope="scope">
                 <div style="white-space: pre-wrap;text-align: left">{{scope.row.standard}}</div>
               </template>
@@ -81,9 +88,13 @@
             <el-table-column width="100" label="数据来源" align="center" prop="source" />
 
             <el-table-column width="80" label="自评分" align="center" prop="selfScoring" v-if="form.status > 3"/>
-            <el-table-column :show-overflow-tooltip="!isUnfold" label="自评语" align="center" prop="selfComment" v-if="form.status > 3"/>
+            <el-table-column label="自评语" align="center" prop="selfComment" v-if="form.status > 3">
+              <template slot-scope="scope">
+                <div style="white-space: pre-wrap;text-align: left">{{scope.row.selfComment}}</div>
+              </template>
+            </el-table-column>
 
-            <el-table-column width="80" label="自评分" align="center" prop="selfScoring" :render-header="addRedStar" v-if="this.$store.state.user.name == form.staff && form.status == '3'">
+            <el-table-column width="85" label="自评分" align="center" prop="selfScoring" :render-header="addRedStar" v-if="this.$store.state.user.name == form.staff && form.status == '3'">
               <template slot-scope="scope">
                 <el-form-item :prop="'performanceItem.'+scope.$index+'.selfScoring'" :rules="{required: true,message: ' ',trigger: 'blur'}">
                   <el-input  v-model="scope.row.selfScoring" v-only-number="{max:saMarkMax,min:0,precision:1}" size="mini" v-if="!form.scored.includes(scope.row.evaluator)"/>
@@ -91,7 +102,7 @@
                 </el-form-item>
               </template>
             </el-table-column>
-            <el-table-column :show-overflow-tooltip="!isUnfold" label="自评语" align="center" prop="selfComment" :render-header="addRedStar" v-if="this.$store.state.user.name == form.staff && form.status == '3'">
+            <el-table-column label="自评语" align="center" prop="selfComment" :render-header="addRedStar" v-if="this.$store.state.user.name == form.staff && form.status == '3'">
               <template slot-scope="scope">
                 <el-form-item :prop="'performanceItem.'+scope.$index+'.selfComment'" :rules="{required: true,message: ' ',trigger: 'blur'}">
                   <el-input size="mini" type="textarea" :rows="3" v-model="scope.row.selfComment" v-if="!form.scored.includes(scope.row.evaluator)"/>
@@ -103,7 +114,11 @@
             <el-table-column width="80" label="评估人" align="center" prop="evaluatorName" v-if="form.status > 4 && form.isTwoEvaluation"/>
 
             <el-table-column width="80" label="上级评分" align="center" prop="leaderScoring" v-if="form.status > 4"/>
-            <el-table-column :show-overflow-tooltip="!isUnfold" label="评分说明" align="center" prop="leaderComment" v-if="form.status > 4"/>
+            <el-table-column label="评分说明" align="center" prop="leaderComment" v-if="form.status > 4">
+              <template slot-scope="scope">
+                <div style="white-space: pre-wrap;text-align: left">{{scope.row.leaderComment}}</div>
+              </template>
+            </el-table-column>
 
             <el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width" v-if="this.$store.state.user.name == form.staff && form.status == '0'">
               <template slot-scope="scope">
@@ -228,8 +243,6 @@ export default {
           { required: true, message: "数据来源不能为空", trigger: "blur" },
         ],
       },
-      //是否展开
-      isUnfold:false,
       //明细权重合计值
       weightSum: 0,
       //自评分
@@ -386,10 +399,6 @@ export default {
         }
       });
     },
-    //展开/收起
-    btnUnfold(){
-      this.isUnfold = !this.isUnfold;
-    },
     //上一个
     btnPreviou(){
       let i = this.ids.indexOf(this.id) - 1;
@@ -417,12 +426,8 @@ export default {
       let weight = data.reduce((sum, e) => sum + Number(e.weight || 0), 0);
       this.weightSum = weight;
       let selfScoring = 0;
-      if(this.form.saMark){
-        selfScoring = this.form.saMark;
-      }else{
-        selfScoring = data.reduce((sum, e) => sum + (e.asItem ? Number(e.selfScoring || 0) :  Number(e.selfScoring || 0) * (Number(e.weight || 0) / 100)), 0);
-        selfScoring = selfScoring.toFixed(1);
-      }
+      selfScoring = data.reduce((sum, e) => sum + (e.asItem ? Number(e.selfScoring || 0) :  Number(e.selfScoring || 0) * (Number(e.weight || 0) / 100)), 0);
+      selfScoring = selfScoring.toFixed(1);
       this.saMark = selfScoring;
       if(this.form.isTwoEvaluation){
         return ['合计','','',weight,'','','',selfScoring,'','',this.form.ldMark];

+ 30 - 15
src/views/business/ehr/pm/performance/detail.vue

@@ -37,45 +37,60 @@
             <el-descriptions-item label="上级评分" v-if="form.status > 4">{{form.ldMark}}</el-descriptions-item>
             <el-descriptions-item label="综合得分" v-if="form.status > 4">{{form.mark}}</el-descriptions-item>
           </el-descriptions>
-          <el-descriptions v-if="form.status > 3">
-            <el-descriptions-item label="个人总结">{{form.summary}}</el-descriptions-item>
-          </el-descriptions>
-          <div style="  display: flex;align-items: flex-start;justify-content: flex-start;margin-top: -20px;" v-if="form.status > 4">
-            <p>总评语:</p>
-            <div style="margin-left: 18px;font-size: 15px;">
-              <p v-for="(item,index) in comment" :key="index">{{item[0]}}:{{item[1]}}</p>
-            </div>
-          </div>
+          <el-row style="color: #606266;font-size: 14px;" v-if="form.status > 3">
+            <el-col :span="2">
+              个人总结:
+            </el-col>
+            <el-col :span="22">
+              <div style="white-space: pre-wrap;text-align: left">{{form.summary}}</div>
+            </el-col>
+          </el-row>
+          <el-row style="margin-top:10px;color: #606266;font-size: 14px;" v-if="form.status > 4">
+            <el-col :span="2">
+              总评语:
+            </el-col>
+            <el-col :span="22">
+              <div v-for="(item,index) in comment" :key="index">{{item[0]}}:{{item[1]}}</div>
+            </el-col>
+          </el-row>
           
           <el-table size="mini"  :data="form.performanceItem" show-summary :summary-method="getSummaries" border>
             <el-table-column type="index" width="50" label="序号"/>
-            <el-table-column width="100" :show-overflow-tooltip="!isUnfold" label="评估方面" align="center" prop="aspect">
+            <el-table-column width="100" label="评估方面" align="center" prop="aspect">
               <template slot-scope="scope">
                 <dict-tag :options="dict.type.ehr_pm_aspect" :value="scope.row.aspect"/>
               </template>
             </el-table-column>
-            <el-table-column width="100" :show-overflow-tooltip="!isUnfold" label="评估指标" align="center" prop="target" />
+            <el-table-column width="100" label="评估指标" align="center" prop="target" />
             <el-table-column width="80" label="权重(%)" align="center" prop="weight">
               <template slot-scope="scope">
                 {{scope.row.asItem ? "+/-" : scope.row.weight}}
               </template>
             </el-table-column>
-            <el-table-column :show-overflow-tooltip="!isUnfold" label="指标说明" align="center" prop="instructions">
+            <el-table-column label="指标说明" align="center" prop="instructions">
               <template slot-scope="scope">
                 <div style="white-space: pre-wrap;text-align: left">{{scope.row.instructions}}</div>
               </template>
             </el-table-column>
-            <el-table-column :show-overflow-tooltip="!isUnfold" label="评分标准" align="center" prop="standard">
+            <el-table-column label="评分标准" align="center" prop="standard">
               <template slot-scope="scope">
                 <div style="white-space: pre-wrap;text-align: left">{{scope.row.standard}}</div>
               </template>
             </el-table-column>
             <el-table-column width="100" label="数据来源" align="center" prop="source" />
             <el-table-column width="80" label="自评分" align="center" prop="selfScoring" v-if="form.status > 3"/>
-            <el-table-column :show-overflow-tooltip="!isUnfold" label="自评语" align="center" prop="selfComment" v-if="form.status > 3"/>
+              <el-table-column label="自评语" align="center" prop="selfComment" v-if="form.status > 3">
+              <template slot-scope="scope">
+                <div style="white-space: pre-wrap;text-align: left">{{scope.row.selfComment}}</div>
+              </template>
+            </el-table-column>
             <el-table-column width="80" label="评估人" align="center" prop="evaluatorName" v-if="form.status > 4 && form.isTwoEvaluation"/>
             <el-table-column width="80" label="上级评分" align="center" prop="leaderScoring" v-if="form.status > 4"/>
-            <el-table-column :show-overflow-tooltip="!isUnfold" label="评分说明" align="center" prop="leaderComment" v-if="form.status > 4"/>
+            <el-table-column label="评分说明" align="center" prop="leaderComment" v-if="form.status > 4">
+              <template slot-scope="scope">
+                <div style="white-space: pre-wrap;text-align: left">{{scope.row.leaderComment}}</div>
+              </template>
+            </el-table-column>
           </el-table>
         </el-form>
       </div>

+ 9 - 3
src/views/business/ehr/pm/performance/index.vue

@@ -59,9 +59,11 @@
         </el-row>
       </el-form>
       <div style="float:right">
+        <el-button size="mini" icon="el-icon-download" @click="btnExport">条件导出</el-button>
       </div>
       <el-table size="mini" height="500px" v-loading="loading" :data="listData" @row-dblclick="btnDetails">
         <el-table-column label="绩效编号" align="center" prop="id" />
+        <el-table-column label="员工编码" align="center" prop="staff" />
         <el-table-column label="员工姓名" align="center" prop="staffName" />
         <el-table-column show-overflow-tooltip label="评估周期" align="center" prop="name" />
         <el-table-column label="月度" align="center" prop="month" />
@@ -192,9 +194,9 @@ export default {
     },
     /** 刷新 */
     refresh(){
-      this.resetForm("queryForm");
-      this.dateRange = [];
-      this.treeValue = [];
+      // this.resetForm("queryForm");
+      // this.dateRange = [];
+      // this.treeValue = [];
       this.getList();
     },
     /** 进入详情 */
@@ -222,6 +224,10 @@ export default {
       console.log("value",value);
       this.$refs.cascaderHandle.dropDownVisible = false;
     },
+    //导出
+    btnExport(){
+      this.download('/ehr/pm/performance/export', this.queryParams, `performance_${new Date().getTime()}.xlsx`)
+    },
   }
 };
 </script>

+ 4 - 2
src/views/business/ehr/pm/psnrelation/index.vue

@@ -21,7 +21,7 @@
         </el-row>
       </el-form>
       <div style="float:right">
-        <el-button type="primary" size="mini" @click="btnGetRelation">同步EHR评估关系</el-button>
+        <el-button  v-loading="loading" type="primary" size="mini" @click="btnGetRelation">同步EHR评估关系</el-button>
       </div>
       <el-table size="mini" height="500px" v-loading="loading" :data="listData" @row-dblclick="btnDetails">
         <el-table-column label="员工编号" align="center" prop="staff" />
@@ -132,11 +132,13 @@ export default {
     },
     //获取EHR评估关系按钮
     btnGetRelation(){
+      this.loading = true;
       sync().then(response => {
         if(response.code == 200){
-          this.$modal.msgSuccess(response.rows.length > 0 ? "同步成功" + "新增下列人员" + response.rows : "同步成功");
+          this.$modal.msgSuccess(response.rows.length > 0 ? "同步成功" + "已同步下列人员【" + response.rows + "】": "同步成功");
           this.getList();
         }
+        this.loading = false;
       });
     }
   }

+ 2 - 2
src/views/business/ehr/pm/stagecontrol/pmList.vue

@@ -31,7 +31,7 @@
       </el-row>
     </el-form>
     <div style="float: right; padding: 3px 0; display:flex;justify-content:space-between">
-      <el-button size="mini" icon="el-icon-download" @click="btnExportAll">导出全部</el-button>
+      <el-button size="mini" icon="el-icon-download" @click="btnExportAll">全部导出</el-button>
       <CreatePmDialog :stageId="stage.id" v-if="stage.stage < 5"></CreatePmDialog>
     </div> 
     <el-table size="mini" height="400px" v-loading="loading" :data="listData">
@@ -213,7 +213,7 @@ export default {
     },
     //导出全部
     btnExportAll(){
-      this.download('/ehr/pm/performance/exportAll', {sourceId:this.stage.id}, `performance_${new Date().getTime()}.xlsx`)
+      this.download('/ehr/pm/performance/export', {sourceId:this.queryParams.sourceId}, `performance_${new Date().getTime()}.xlsx`)
     },
   },
 };

+ 69 - 0
src/views/expend/customerExpend/che-hui/index.vue

@@ -0,0 +1,69 @@
+<script>
+import { rebacktWork } from "@/api/purchase/workSpace.js";
+export default {
+  name: "OpenOrClose",
+  dicts: [
+    "oa_templete_id",
+  ],
+  props: {
+    selectData: {
+      type: Array,
+      default: () => [],
+    },
+  },
+  data() {
+    return {
+      title: "撤回",
+      loading: false,
+    };
+  },
+  computed: {
+    disabled: {
+      get() {
+        const { selectData } = this;
+        if (selectData.length < 1) {
+          return true;
+        }
+        return false;
+      },
+      set() {},
+    },
+  },
+  methods: {
+    //收回
+    useClick() {
+      if(this.selectData.length != 1){
+        this.$modal.msgWarning("请选择一条数据进行撤回!");
+        return;
+      }
+      this.$modal.loading("收回中...");
+      let row = this.selectData[0];
+      let params = {
+        billCode: row.code,
+        fdId: row.flowId,
+        fdTemplateId: this.dict.type.oa_templete_id.find((item) => {
+          return item.label == "采购需求单";
+        }).value,
+        billMaker: row.createBy,
+      };
+      rebacktWork(params).then((res) => {
+        if (res.code === 200) {
+          this.$modal.notifySuccess("收回成功");
+          this.$modal.closeLoading();
+          // this.getList(this.params, this.Pages);
+        }
+      })
+      .catch((err) => {
+        this.$modal.closeLoading();
+      });
+    },
+  },
+  created() {},
+};
+</script>
+
+<template>
+  <el-button v-loading="loading" @click="useClick" :disabled="disabled" v-bind="$attrs">{{
+    title
+  }}</el-button>
+</template>

+ 186 - 0
src/views/expend/customerExpend/columns.js

@@ -0,0 +1,186 @@
+export default function useColumns() {
+  const SearchColumns = [
+    {
+      item: { key: "projectName", title: "项目名称" },
+      attr: {
+        is: "el-input",
+        clearable: true,
+      }
+    },
+    {
+      item: { key: "supplier", title: "供应商" },
+      attr: {
+        is: "el-input",
+        clearable: true,
+      }
+    },
+    {
+      item: { key: "spdProject", title: "SPD项目" },
+      attr: {
+        is: "el-input",
+        clearable: true,
+      }
+    },
+    {
+      item: { key: "saleOrg_name", title: "销售组织" },
+      attr: {
+        is: "el-popover-select-v2",
+        referName: "ORG_PARAM",
+        valueKey: "name",
+        dataMapping: {
+          saleOrg: "code",
+          saleOrg_name: "name",
+        },
+        clearable: true,
+      }
+    },
+    {
+      item: { key: "materialCode", title: "物料编码" },
+      attr: {
+        clearable: true,
+        is: "el-popover-select-v2",
+        valueKey: "code",
+        referName: "MATERIAL_PARAM",
+      }
+    },
+    {
+      item: { key: "isTicket", title: "是否开票" },
+      attr: {
+        is: "el-select",
+        dictName: "sys_yes_no",
+        clearable: true,
+      }
+    },
+    {
+      item: { key: "saleOrderNo", title: "销售订单号" },
+      attr: {
+        is: "el-input",
+        clearable: true,
+      }
+    },
+    {
+      item: { key: "verifyState", title: "单据状态" },
+      attr: {
+        is: "el-select",
+        dictName: "sys_status",
+        clearable: true,
+      }
+    },
+    {
+      item: { key: "code", title: "编码" },
+      attr: {
+        is: "el-input",
+        clearable: true,
+      }
+    },
+  ];
+  const TableColumns = [
+    {
+      item: { key: "code", title: "单据号" },
+      attr: {}
+    },
+    {
+      item: { key: "projectName", title: "项目名称" },
+      attr: {}
+    },
+    {
+      item: { key: "supplier", title: "供应商" },
+      attr: {}
+    },
+    {
+      item: { key: "calculateSupplier", title: "结算供应商" },
+      attr: {}
+    },
+    {
+      item: { key: "startDate", title: "结算开始日期" },
+      attr: {}
+    },
+    {
+      item: { key: "endDate", title: "结算截止日期" },
+      attr: {}
+    },
+    {
+      item: { key: "spdProject", title: "SPD项目" },
+      attr: {}
+    },
+    {
+      item: { key: "profileCenter", title: "利润中心" },
+      attr: {}
+    },
+    {
+      item: { key: "saleOrg_name", title: "销售组织" },
+      attr: {}
+    },
+    {
+      item: { key: "saleMonth", title: "销售月份" },
+      attr: {}
+    },
+    {
+      item: { key: "priceSum", title: "价税合计" },
+      attr: {}
+    },
+    {
+      item: { key: "serviceFee", title: "服务费" },
+      attr: {}
+    },
+    {
+      item: { key: "materialCode", title: "物料编码" },
+      attr: {}
+    },
+    {
+      item: { key: "num", title: "数量" },
+      attr: {}
+    },
+    {
+      item: { key: "isSaleOrder", title: "是否转销售订单" },
+      attr: {
+        is: "el-dict-tag",
+        dictName: "sys_yes_no",
+      }
+    },
+    {
+      item: { key: "saleOrderNo", title: "销售订单号" },
+      attr: {}
+    },
+    {
+      item: { key: "isReturnMoney", title: "是否回款" },
+      attr: {
+        is: "el-dict-tag",
+        dictName: "sys_return_money",
+      }
+    },
+    {
+      item: { key: "isTicket", title: "是否开票" },
+      attr: {
+        is: "el-dict-tag",
+        dictName: "sys_yes_no",
+      }
+    },
+    {
+      item: { key: "status", title: "单据状态" },
+      attr: {
+        is: "el-dict-tag",
+        dictName: "sys_status",
+        clearable: true,
+      }
+    },
+    {
+      item: { key: "isOpen", title: "单据打开状态" },
+      attr: {
+        is: "el-dict-tag",
+        dictName: "sys_open_status",
+        clearable: true,
+      }
+    },
+  ].map(({ item, attr }) => ({
+    attr,
+    item: {
+      ...item,
+      sortabled: true,
+      fixedabled: true,
+      filterabled: true,
+      hiddenabled: true,
+    },
+  }));
+  return { SearchColumns, TableColumns }
+}

+ 15 - 0
src/views/expend/customerExpend/dicts.js

@@ -0,0 +1,15 @@
+
+import { initDicts } from "@/utils/init.js";
+const modules = require.context("./", true, /columns.js$/);
+const columns = [];
+modules.keys().forEach((fileName) => {
+  const data = modules(fileName).default();
+  for (const key in data) {
+    if (key === "TabColumns") {
+      columns.push(...data[key].map((item) => item.TableColumns).flat());
+    } else {
+      columns.push(...data[key]);
+    }
+  }
+});
+export const dicts = initDicts(columns);

+ 149 - 0
src/views/expend/customerExpend/edit/columns.js

@@ -0,0 +1,149 @@
+export default function useColumns() {
+  const FearchColumns = [
+    {
+      item: { key: "code", title: "编码" },
+      attr: {
+        is: "el-input",
+        disabled: true,
+      }
+    },
+    {
+      item: { key: "projectName", title: "项目名称" },
+      attr: {
+        is: "el-input",
+        disabled: true,
+      }
+    },
+    {
+      item: { key: "startDate", title: "结算开始日期" },
+      attr: {
+        is: "el-date-picker",
+        type: "date",
+        valueFormat: "yyyy-MM-dd",
+        disabled: true,
+      }
+    },
+    {
+      item: { key: "endDate", title: "结算截止日期" },
+      attr: {
+        is: "el-date-picker",
+        type: "date",
+        valueFormat: "yyyy-MM-dd",
+        disabled: true,
+      }
+    },
+    {
+      item: { key: "spdProject", title: "SPD项目" },
+      attr: {
+        is: "el-input",
+        disabled: true,
+      }
+    },
+    {
+      item: { key: "profileCenter", title: "利润中心" },
+      attr: {
+        is: "el-input",
+        disabled: true,
+      }
+    },
+    {
+      item: { key: "calculateSupplier", title: "结算供应商" },
+      attr: {
+        is: "el-input",
+        disabled: true,
+      }
+    },
+    {
+      item: { key: "supplier", title: "供应商" },
+      attr: {
+        is: "el-input",
+        disabled: true,
+      }
+    },
+    {
+      item: { key: "saleOrg", title: "销售组织" },
+      attr: {
+        is: "el-popover-select-v2",
+        referName: "ORG_PARAM",
+        valueKey: "code",
+        dataMapping: {
+          saleOrg: "code",
+          saleOrg_name: "name",
+        },
+        clearable: true,
+      }
+    },
+    {
+      item: { key: "saleMonth", title: "销售月份" },
+      attr: {
+        is: "el-input",
+      }
+    },
+    {
+      item: { key: "saleOrderNo", title: "销售订单号" },
+      attr: {
+        is: "el-input",
+      }
+    },
+    {
+      item: { key: "priceSum", title: "价税合计" },
+      attr: {
+        is: "el-input",
+        disabled: true,
+      }
+    },
+    {
+      item: { key: "serviceFee", title: "服务费" },
+      attr: {
+        is: "el-input",
+        disabled: true,
+      }
+    },
+    {
+      item: { key: "isToSaleOrder", title: "是否转销售订单" },
+      attr: {
+        is: "el-select",
+        dictName: "sys_yes_no",
+        disabled: true,
+      }
+    },
+    {
+      item: { key: "isReturnMoney", title: "是否回款" },
+      attr: {
+        is: "el-select",
+        dictName: "sys_return_money",
+        disabled: true,
+      }
+    },
+    {
+      item: { key: "isTicket", title: "是否开票" },
+      attr: {
+        is: "el-select",
+        dictName: "sys_yes_no",
+        disabled: true,
+      }
+    },
+    {
+      item: { key: "isOpen", title: "单据打开状态" },
+      attr: {
+        is: "el-select",
+        dictName: "sys_open_status",
+        disabled: true,
+      }
+    },
+    {
+      item: { key: "status", title: "单据状态" },
+      attr: {
+        is: "el-select",
+        dictName: "sys_status",
+        disabled: true,
+      }
+    },
+
+  ].map(({ item, attr }) => ({
+    attr,
+    item: { ...item, hidden: true, span: item.span || 6 },
+  }));
+
+  return { FearchColumns }
+}

+ 137 - 0
src/views/expend/customerExpend/edit/index.vue

@@ -0,0 +1,137 @@
+<script>
+import useColumns from "./columns";
+import { ccdItem, editItem } from "@/api/expend/customerExpend";
+
+export default {
+  name: "customerExpendAdd",
+  props: {
+    dict: {
+      type: Object,
+    },
+  },
+  components: {
+    ElSuperForm: () => import("@/components/super-form/index.vue"),
+  },
+  data() {
+    const { FearchColumns } = useColumns();
+    const page = this.$init.page();
+    const params = this.$init.params(FearchColumns);
+    const rules = this.$init.rules(FearchColumns);
+    return {
+      page,
+      rules,
+      params,
+      FearchColumns,
+      size: "mini",
+      width: "100%",
+      visible: false,
+      loading: false,
+      opType: "edit",
+      count: 0,
+    };
+  },
+  computed: {
+    title: {
+      get() {
+        let { opType } = this;
+        if (opType === "edit") {
+          return "编辑";
+        } else {
+          return "查看";
+        }
+      },
+      set() {},
+    },
+  },
+  methods: {
+    setVisible(prop, type) {
+      this.visible = prop;
+      this.opType = type;
+    },
+    // 查询
+    async fetchItem(prop) {
+      console.log(prop, "prop");
+      try {
+        this.loading = true;
+        let { code, data } = await ccdItem(prop.id);
+        if (code == 200) {
+          this.params = data;
+          this.count++;
+          console.log(this.params, "params");
+        }
+      } catch (error) {
+      } finally {
+        this.loading = false;
+      }
+    },
+    //
+    onHide() {
+      const { FearchColumns } = useColumns();
+      this.visible = false;
+      this.params = this.$init.params(FearchColumns);
+      this.$emit("success");
+    },
+    async useSubmit() {
+      try {
+        this.loading = true;
+        let { code, msg } = await editItem({ ...this.params });
+        if (code == 200) {
+          this.$notify.success(msg);
+          this.onHide();
+        }
+      } catch (error) {
+      } finally {
+        this.loading = false;
+      }
+    },
+    ccdSaleOrgChange(prop) {
+      console.log(prop, "prop");
+    },
+  },
+  created() {},
+};
+</script>
+
+<template>
+  <el-drawer
+    v-bind="$attrs"
+    v-on="$listeners"
+    :show-close="false"
+    :size="width"
+    :title="title"
+    :visible.sync="visible"
+    v-loading="loading"
+    append-to-body
+    destroy-on-close
+    @close="onHide"
+  >
+    <template slot="title">
+      <span>{{ title }}</span>
+      <el-button
+        v-if="opType !== 'see'"
+        type="primary"
+        :size="$attrs.size"
+        :loading="loading"
+        @click="useSubmit('customerExpendAdd')"
+      >
+        确 认
+      </el-button>
+      <el-button :size="$attrs.size" :loading="loading" @click="onHide">
+        取 消
+      </el-button>
+    </template>
+    <el-super-form
+      v-model="params"
+      :dict="dict"
+      :rules="rules"
+      :size="$attrs.size"
+      :columns="FearchColumns"
+      :disabled="opType === 'see'"
+      ref="customerExpendAdd"
+      label-width="auto"
+      label-position="right"
+      style="padding: 18px"
+    >
+    </el-super-form>
+  </el-drawer>
+</template>

+ 52 - 0
src/views/expend/customerExpend/hdk-hgb/index.vue

@@ -0,0 +1,52 @@
+<script>
+import { operationStatus } from "@/api/expend/customerExpend";
+export default {
+  name: "OpenOrClose",
+  props: {
+    selectData: {
+      type: Array,
+      default: () => [],
+    },
+  },
+  data() {
+    return {
+      title: "行打开/关闭",
+      loading: false,
+    };
+  },
+  computed: {
+    disabled: {
+      get() {
+        const { selectData } = this;
+        if (selectData.length < 1) {
+          return true;
+        }
+        return false;
+      },
+      set() {},
+    },
+  },
+  methods: {
+    //操作状态
+    useClick() {
+      let that = this;
+      this.$modal.confirm('确认操作行状态吗?').then(async function() {
+        that.loading = true;
+        return await operationStatus(that.selectData);
+      }).then(() => {
+        that.$modal.msgSuccess("操作成功");
+        that.loading = false;
+      }).catch(() => {
+        that.loading = false;
+      });
+    },
+  },
+  created() {},
+};
+</script>
+
+<template>
+  <el-button v-loading="loading" @click="useClick" :disabled="disabled" v-bind="$attrs">{{
+    title
+  }}</el-button>
+</template>

+ 167 - 1
src/views/expend/customerExpend/index.vue

@@ -1 +1,167 @@
-<template><div>客户消耗单</div></template>
+<script>
+import { dicts } from "./dicts";
+import useColumns from "./columns";
+import { queryList } from "@/api/expend/customerExpend";
+export default {
+  name: "customerExpend",
+  dicts: dicts,
+  components: {
+    ElSuperUxTable: () => import("@/components/super-ux-table/index.vue"),
+    ElSuperSearch: () => import("@/components/super-search/index.vue"),
+    zxsddButton: () => import("./zxsdd/index.vue"),
+    hgbHdkButton: () => import("./hdk-hgb/index.vue"),
+    chButton: () => import("./che-hui/index.vue"),
+    tjButton: () => import("./ti-jiao/index.vue"),
+    editDrawer: () => import("./edit/index.vue"),
+  },
+  data() {
+    const { TableColumns, SearchColumns } = useColumns();
+    const page = this.$init.page();
+    const params = this.$init.params(SearchColumns);
+    return {
+      page,
+      params,
+      TableColumns,
+      SearchColumns,
+      size: "mini",
+      tableData: [],
+      selectData: [],
+      loading: false,
+    };
+  },
+  methods: {
+    // 查询
+    async useQuery(params, page) {
+      try {
+        this.loading = true;
+        let { code, rows, total } = await queryList({ ...params, ...page });
+        if (code == 200) {
+          this.tableData = rows;
+          this.page.total = total;
+        }
+      } catch (error) {
+      } finally {
+        this.loading = false;
+      }
+    },
+    // 查看
+    useSee(row) {
+      let { setVisible, fetchItem } = this.$refs.customerEdit;
+      setVisible(true, "see");
+      fetchItem(row);
+    },
+    // 编辑
+    useEdit(row) {
+      let { setVisible, fetchItem } = this.$refs.customerEdit;
+      setVisible(true, "edit");
+      fetchItem(row);
+    },
+    // 重置
+    useReset() {
+      this.page = this.$init.page();
+      this.params = this.$init.params(this.SearchColumns);
+    },
+    // 选 择
+    useSelect(prop) {
+      this.selectData = prop;
+    },
+  },
+  created() {
+    this.useQuery(this.params, this.page);
+  },
+};
+</script>
+
+<template>
+  <el-card
+    v-loading="loading"
+    :body-style="{
+      height: '100%',
+      padding: 0,
+      display: 'flex',
+      'flex-direction': 'column',
+    }"
+  >
+    <el-super-search
+      v-model="params"
+      :size="size"
+      :dict="dict"
+      :columns="SearchColumns"
+      @reset="useReset"
+      @submit="useQuery(params, page)"
+    ></el-super-search>
+    <el-row class="my-4" style="text-align: right">
+      <el-button-group>
+        <tj-button
+          :dict="dict"
+          :size="size"
+          type="primary"
+          :select-data="selectData"
+          @success="useQuery(params, page)"
+        ></tj-button>
+        <ch-button
+          :dict="dict"
+          :size="size"
+          :select-data="selectData"
+          @success="useQuery(params, page)"
+        ></ch-button>
+      </el-button-group>
+      <el-button-group>
+        <zxsdd-button
+          :dict="dict"
+          :size="size"
+          :select-data="selectData"
+          @success="useQuery(params, page)"
+        ></zxsdd-button>
+        <hgb-hdk-button
+          :dict="dict"
+          :size="size"
+          :select-data="selectData"
+          @success="useQuery(params, page)"
+        ></hgb-hdk-button>
+      </el-button-group>
+    </el-row>
+    <edit-drawer
+      ref="customerEdit"
+      :dict="dict"
+      :size="size"
+      @success="useQuery(params, page)"
+    ></edit-drawer>
+    <el-super-ux-table
+      v-model="tableData"
+      :size="size"
+      :dict="dict"
+      :page="page"
+      :columns="TableColumns"
+      index
+      checkbox
+      pagination
+      convenitentOperation
+      storage-key="CustomerExpendSuperTable"
+      @row-dblclick="useSee"
+      @row-select="useSelect"
+      @pagination="useQuery(params, page)"
+    >
+      <ux-table-column fixed="right" title="操作" align="center" width="100">
+        <template slot-scope="scope">
+          <el-button type="text" :size="size" @click="useEdit(scope.row)"
+            >编辑</el-button
+          >
+        </template>
+      </ux-table-column>
+    </el-super-ux-table>
+  </el-card>
+</template>
+<style scoped lang="scss">
+.el-card {
+  width: calc(100% - 32px);
+  height: calc(100vh - 32px);
+  margin: 16px;
+  padding: 16px;
+  border-radius: 8px;
+}
+
+.el-button-group + .el-button-group {
+  margin: 0 0 0 8px;
+}
+</style>

+ 56 - 0
src/views/expend/customerExpend/ti-jiao/index.vue

@@ -0,0 +1,56 @@
+<script>
+import { submit } from "@/api/expend/customerExpend";
+export default {
+  name: "OpenOrClose",
+  props: {
+    selectData: {
+      type: Array,
+      default: () => [],
+    },
+  },
+  data() {
+    return {
+      title: "提交",
+      loading: false,
+    };
+  },
+  computed: {
+    disabled: {
+      get() {
+        const { selectData } = this;
+        if (selectData.length < 1) {
+          return true;
+        }
+        return false;
+      },
+      set() {},
+    },
+  },
+  methods: {
+    //提交
+    useClick() {
+      if(this.selectData.length != 1){
+        this.$modal.msgWarning("请选择一条数据进行提交!");
+        return;
+      }
+      let that = this;
+      this.$modal.confirm('确认提交吗?').then(async function() {
+        that.loading = true;
+        return await submit(that.selectData[0]);
+      }).then(() => {
+        that.$modal.msgSuccess("提交成功");
+        that.loading = false;
+      }).catch(() => {
+        that.loading = false;
+      });
+    },
+  },
+  created() {},
+};
+</script>
+
+<template>
+  <el-button v-loading="loading" @click="useClick" :disabled="disabled" v-bind="$attrs">{{
+    title
+  }}</el-button>
+</template>

+ 52 - 0
src/views/expend/customerExpend/zxsdd/index.vue

@@ -0,0 +1,52 @@
+<script>
+import { toSaleOrder } from "@/api/expend/customerExpend";
+export default {
+  name: "ResaleOrder",
+  props: {
+    selectData: {
+      type: Array,
+      default: () => [],
+    },
+  },
+  data() {
+    return {
+      title: "转销售订单",
+      loading: false,
+    };
+  },
+  computed: {
+    disabled: {
+      get() {
+        const { selectData } = this;
+        if (selectData.length < 1) {
+          return true;
+        }
+        return false;
+      },
+      set() {},
+    },
+  },
+  methods: {
+    //转销售订单
+    useClick() {
+      let that = this;
+      this.$modal.confirm('确认转销售订单吗?').then(async function() {
+        that.loading = true;
+        return await toSaleOrder(that.selectData);
+      }).then(() => {
+        that.$modal.msgSuccess("成功");
+        that.loading = false;
+      }).catch(() => {
+        that.loading = false;
+      });
+    },
+  },
+  created() {},
+};
+</script>
+
+<template>
+  <el-button v-loading="loading" @click="useClick" :disabled="disabled" v-bind="$attrs">{{
+    title
+  }}</el-button>
+</template>

+ 273 - 3
src/views/expend/expendMx.vue

@@ -1,5 +1,275 @@
 <template>
-  <div>
-    111
+  <div id="expendMx">
+    <div v-if="isList">
+      <el-card
+        v-loading="loading"
+        style="position: relative;"
+      >
+      <el-form class="search_area" label-width="auto">
+        <el-row :gutter="10">
+          <el-col :span="1.5">
+            <el-form-item label="编码">
+                <el-input
+                  v-model.trim="params.code"
+                  size="mini"
+                  clearable
+                  style="width: 200px"
+                />
+              </el-form-item>
+          </el-col>
+
+          <el-col :span="1.5">
+            <el-form-item label="结算开始日期">
+              <el-date-picker
+                v-model="params.startDate"
+                clearable
+                type="date"
+                value-format="yyyy-MM-dd"
+                size="mini"
+                style="width: 200px"
+              >
+              </el-date-picker>
+              </el-form-item>
+          </el-col>
+
+          <el-col :span="1.5">
+            <el-form-item label="结算截止日期">
+              <el-date-picker
+                v-model="params.endDate"
+                clearable
+                type="date"
+                value-format="yyyy-MM-dd"
+                size="mini"
+                style="width: 200px"
+              ></el-date-picker>
+              </el-form-item>
+          </el-col>
+
+          <el-col :span="1.5">
+            <el-form-item label="结算单号">
+                <el-input
+                  v-model.trim="params.settleNo"
+                  size="mini"
+                  clearable
+                  style="width: 200px"
+                />
+              </el-form-item>
+          </el-col>
+
+          <el-col :span="1.5">
+            <el-form-item label-width="80px">
+              <el-button type="primary" size="mini" icon="el-icon-search" @click="searchList">搜索</el-button>
+              <el-button size="mini" plain icon="el-icon-refresh" @click="resetList">重置</el-button>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+
+      <div class="btn_grooup">
+        <!-- <el-button type="primary" size="mini" @click="submits">提交</el-button> -->
+        <el-button type="primary" size="mini" @click="pulldata">下拉数据</el-button>
+        <el-button type="primary" size="mini" @click="huizong">汇总</el-button>
+      </div>
+
+      <el-super-ux-table
+        id="data-table"
+        v-model="tableData"
+        index
+        checkbox
+        :size="size"
+        :dict="dict"
+        :page="pageInfo"
+        :height=500
+        :columns="TableColumns"
+        pagination
+        convenitentOperation
+        storage-key="expendMxList"
+        @row-dblclick="useSee"
+        @row-select="useSelect"
+        @selection-change="handleSelectionChange"
+        @row-click="rowSelect"
+        @pagination="useQuery(params, pageInfo)"
+        ref="tables"
+      >
+        <ux-table-column
+          fixed="right"
+          title="操作"
+          align="center"
+          width="100"
+          >
+          <template slot-scope="scope">
+            <!-- <el-button type="text" size="mini" v-if="scope.row.status == '1' && scope.row.flowId" @click="reback(scope.row)">收回</el-button> -->
+            <el-button type="text" size="mini" @click="check(scope.row)">查看</el-button>
+            <el-button type="text" size="mini" @click="edit(scope.row)">编辑</el-button>
+          </template>
+        </ux-table-column>
+      </el-super-ux-table>
+
+      </el-card>
+    </div>
+
+    <Add v-model="isList" v-if="!isList" :pageStu="page" :disable="disable" :row="rowDetail" @refresh="searchList"/>
   </div>
-</template>
+</template>
+
+<script>
+import { mxList, pullMx, huizongMX } from '@/api/expend/expendMx.js'
+export default {
+  dicts: ['sys_status'],
+  components: {
+    Add: () => import("./expendMxDetail.vue"),
+    ElSuperUxTable: () => import("@/components/super-ux-table/index.vue"),
+  },
+  data() {
+    return {
+      // 页面配置
+      isList: true,
+      // 页面状态
+      page: '',
+      disable: false,
+      rowDetail: {},
+      size: "mini",
+      loading: false,
+      params: {
+        code: '',
+        startDate: '',
+        endDate: '',
+        settleNo: '',
+      },
+      pageInfo: {
+        pageNum: 1,
+        pageSize: 20,
+        total: 0
+      },
+      tableData: [],
+      selectData: [],
+      // SearchColumns: SearchColumns,
+      TableColumns: [
+        { item: { key: "serviceFee", title: "服务费合计" }, attr: {} },
+        { item: { key: "custCode", title: "医院编码" }, attr: {} },
+        { item: { key: "supplierCode", title: "供应商编码" }, attr: {} },
+        { item: { key: "supplierName", title: "供应商名称" }, attr: {} },
+        { item: { key: "isSum", title: "是否汇总" }, attr: {
+          formatter: (prop) => {
+              return prop.isSum == '0' ? '是' : '否'
+            },
+        } },
+        { item: { key: "settleNo", title: "结算单号"}, attr: {} },
+        { item: { key: "startDate", title: "结算开始日期" }, attr: {} },
+        { item: { key: "endDate", title: "结算截止日期" }, attr: {} },
+        { item: { key: "totalAmount", title: "合计金额" }, attr: {} },
+        // { item: { key: "isProjectOrFactoryEmpower", title: "是否项目/厂家年度授权" }, attr: {is: "el-dict-tag", dictName: "sys_equipment_type"} },
+        // { item: { key: "parameters", title: "参数" }, attr: {} },
+        { item: { key: "remark", title: "备注"}, attr: {} },
+        { item: { key: "code", title: "编码"}, attr: {} },
+        { item: { key: "verifyState", title: "单据状态"}, attr: {
+          is: "el-dict-tag",
+          dictName: "sys_status",
+          } 
+        },
+      ].map(({ item, attr }) => ({
+      attr,
+      item: {
+        ...item,
+        sortabled: true,
+        fixedabled: true,
+        filterabled: true,
+        hiddenabled: true,
+      },
+      })),
+      ids: []
+    }
+  },
+  created() {
+    this.useQuery(this.params, this.pageInfo)
+  },
+  methods: {
+    searchList() {
+      this.useQuery(this.params, this.pageInfo)
+    },
+    resetList() {
+      this.params = {
+        code: '',
+        startDate: '',
+        endDate: '',
+        settleNo: '',
+      }
+      this.useQuery(this.params, this.pageInfo)
+    },
+    useSee() {},
+    useSelect() {},
+    handleSelectionChange(selection) {
+      console.log('选中', selection)
+      // this.ids = selection.map(item => item.id)
+      // console.log('选中数组', this.ids)
+      this.ids = selection
+    },
+    rowSelect(row) {
+      this.$refs.tables.toggleRowSelection([{row: row}]);
+    },
+    async useQuery(prop, page) {
+      let params = {...prop, ...page}
+      await mxList(params).then(res => {
+        if( res.code === 200 ) {
+          this.tableData = res.rows
+          this.pageInfo.total = res.total
+        }
+      })
+    },
+    submits() {
+      this.isList = false
+      this.page = 'add'
+      this.disable = false
+    },
+    pulldata() {
+      this.$modal.loading("正在下拉数据,请稍后...");
+      pullMx().then(res => {
+        if(res.code === 200) {
+          this.$modal.closeLoading();
+          this.$modal.notifySuccess(res.msg);
+          this.useQuery(this.params, this.pageInfo)
+        }
+      }).catch(err => {
+        this.$modal.closeLoading();
+      })
+    },
+    huizong() {
+      if (this.ids.length <= 0) {
+        this.$modal.notifyWarning("至少勾选一条数据");
+      } else {
+        huizongMX(this.ids).then(res => {
+          if(res.code === 200) {
+            this.$modal.notifySuccess(res.msg);
+          }
+       })
+      }
+      // huizongMX()
+    },
+    check(row) {
+      this.isList = false
+      this.page = 'check'
+      this.rowDetail = row
+      this.disable = true
+    },
+    edit(row) {
+      this.isList = false
+      this.page = 'edit'
+      this.rowDetail = row
+      this.disable = false
+    },
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+#expendMx {
+  padding: 12px;
+  box-sizing: border-box;
+  overflow-y: scroll;
+}
+.btn_grooup {
+  margin-bottom: 10px;
+  display: flex;
+  justify-content: flex-end;
+}
+</style>

+ 301 - 3
src/views/expend/expendMxDetail.vue

@@ -1,5 +1,303 @@
 <template>
-  <div>
-    222
+  <div id="editExpendMx">
+    <el-card style="position: relative;">
+      <span>基本信息</span>
+      <el-form :model="basicForm" :rules="basicRules" ref="basic" label-width="auto" :show-message="false">
+        <el-row :gutter="10">
+
+          <el-col :span="1.5">
+            <el-form-item label="编码" prop="code">
+              <el-input style="width: 200px" clearable disabled size="mini" v-model="basicForm.code">
+              </el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="1.5">
+            <el-form-item label="服务费合计" prop="serviceFee">
+              <el-input style="width: 200px" clearable disabled size="mini" v-model="publishedBooksMessage">
+              <!-- <el-input style="width: 200px" clearable disabled size="mini" v-model="basicForm.serviceFee"> -->
+              </el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="1.5">
+            <el-form-item label="医院编码" prop="custCode">
+              <el-input style="width: 200px" clearable :disabled="sonDisable" size="mini" v-model="basicForm.custCode">
+              </el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="1.5">
+            <el-form-item label="医院名称" prop="custName">
+              <el-input style="width: 200px" clearable :disabled="sonDisable" size="mini" v-model="basicForm.custName">
+              </el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="1.5">
+            <el-form-item label="供应商编码" prop="supplierCode">
+              <el-input style="width: 200px" clearable :disabled="sonDisable" size="mini" v-model="basicForm.supplierCode">
+              </el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="1.5">
+            <el-form-item label="供应商名称" prop="supplierName">
+              <el-input style="width: 200px" clearable :disabled="sonDisable" size="mini" v-model="basicForm.supplierName">
+              </el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="1.5">
+            <el-form-item label="结算单号" prop="settleNo">
+              <el-input style="width: 200px" clearable :disabled="sonDisable" size="mini" v-model="basicForm.settleNo">
+              </el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="1.5">
+            <el-form-item label="结算开始日期" prop="startDate">
+              <el-date-picker
+                v-model="basicForm.startDate"
+                :disabled="sonDisable"
+                clearable
+                type="date"
+                value-format="yyyy-MM-dd"
+                size="mini"
+                style="width: 200px"
+              >
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="1.5">
+            <el-form-item label="结算截止日期" prop="endDate">
+              <el-date-picker
+                v-model="basicForm.endDate"
+                :disabled="sonDisable"
+                clearable
+                type="date"
+                value-format="yyyy-MM-dd"
+                size="mini"
+                style="width: 200px"
+              >
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="1.5">
+            <el-form-item label="合计金额" prop="totalAmount">
+              <el-input style="width: 200px" clearable disabled size="mini" v-model="publishedBooksMessage2">
+              </el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="1.5">
+            <el-form-item label="备注" prop="remark">
+              <el-input style="width: 200px" clearable :disabled="sonDisable" size="mini" v-model="basicForm.remark">
+              </el-input>
+            </el-form-item>
+          </el-col>
+
+        </el-row>
+      </el-form>
+
+      <div class="btn_group">
+        <!-- <el-button type="primary" size="mini"  @click="toOA" v-if="sonPageStu == 'check'">提交</el-button> -->
+        <el-button type="primary" size="mini"  @click="editPage" v-if="sonPageStu == 'check'">编辑</el-button>
+        <el-button type="primary" size="mini"  @click="save" v-if="sonPageStu == 'add' || sonPageStu == 'edit'">保存</el-button>
+        <el-button size="mini" plain @click="back">返回</el-button>
+      </div>
+
+      <div class="btn_grooup">
+        <span>明细信息</span>
+        <div>
+          <!-- <el-button type="primary" size="mini" @click="addLine" v-if="!sonDisable">增行</el-button> -->
+          <!-- <el-button type="primary" size="mini" @click="delLines" v-if="!sonDisable">删行</el-button> -->
+        </div>
+      </div>
+
+      <ux-grid
+        :data="basicForm.itemList"
+        border
+        :cell-style="{ borderColor: '#c0c0c0' }"
+        :header-cell-style="{ borderColor: '#c0c0c0' }"
+        class="exporttable"
+        height="410"
+        max-height="410"
+        style="font-size: 12px;"
+        @selection-change="handleSelectionChange"
+        ref="table"
+        show-header-overflow="tooltip"
+        show-overflow="tooltip"
+        keep-source
+        beautifyTable
+        :checkbox-config="{highlight: true, trigger: 'row'}"
+        :edit-config="{trigger: 'click', mode: 'row'}">
+      >
+        <ux-table-column resizable type="checkbox" width="50px" fixed="left"/>
+        <ux-table-column resizable title="医保编码" field="healthCode" align="center"/>
+        <ux-table-column resizable title="物料编码" field="itemCode" align="center"/>
+        <ux-table-column resizable title="物料名称" field="itemName" align="center"/>
+        <ux-table-column resizable title="规格型号" field="itemSpec" align="center"/>
+        <ux-table-column resizable title="厂家" field="manufactor" align="center"/>
+        <ux-table-column resizable title="单位" field="itemUom" align="center"/>
+        <ux-table-column resizable title="是否带量" field="isWhether" align="center" :formatter="hangStatus" />
+        <ux-table-column resizable title="服务费率(%)" field="ratio" align="center" edit-render>
+          <template v-slot:edit="scope">
+            <el-input-number clearable :disabled="sonDisable" :min="1" size="mini" v-model="scope.row.ratio" @input="changeFei(scope.rowIndex, scope.row)"/>
+          </template>
+        </ux-table-column>
+        <ux-table-column resizable title="数量" field="qty" align="center"/>
+        <ux-table-column resizable title="单价" field="price" align="center"/>
+        <ux-table-column resizable title="小计" field="amount" align="center"/>
+        <ux-table-column resizable title="备注" field="detailRemark" align="center"/>
+        <ux-table-column resizable title="服务费" field="serviceFee" align="center"/>
+      </ux-grid>
+    </el-card>
   </div>
-</template>
+</template>
+
+<script>
+import { Mxdetail, editSaveMx, toOAs } from '@/api/expend/expendMx.js'
+export default {
+  props: ['pageStu','row', 'disable'],
+  model: {
+    prop: 'isList',
+    event: 'jugislist'
+  },
+  data() {
+    return {
+      // 不能直接改变props传来的值
+      sonPageStu: this.pageStu,
+      sonDisable: this.disable,
+      basicForm: {
+        id: '',
+        code: '',
+        serviceFee: 0,
+        custCode: '',
+        custName: '',
+        supplierCode: '',
+        supplierName: '',
+        settleNo: '',
+        startDate: '',
+        endDate: '',
+        totalAmount: '',
+        remark: '',
+        itemList: []
+      },
+      basicRules: {},
+      ids:[],
+    }
+  },
+  created() {
+    if(this.pageStu == 'check') {
+      console.log('数据', this.row)
+      this.getDetails(this.row)
+    } else if(this.pageStu == 'edit') {
+      this.getDetails(this.row)
+    } else if (this.pageStu == 'add') {
+
+    }
+  },
+  computed: {
+    // 一个计算属性的 getter
+    publishedBooksMessage() {
+      // `this` 指向当前组件实例
+      // var s = 0
+      this.basicForm.serviceFee = 0
+      this.basicForm.itemList.forEach(item => {
+        this.basicForm.serviceFee += Number(item.serviceFee)
+      })
+      return this.basicForm.serviceFee
+    },
+      publishedBooksMessage2() {
+      // `this` 指向当前组件实例
+      // var s = 0
+      this.basicForm.totalAmount = 0
+      this.basicForm.itemList.forEach(item => {
+        this.basicForm.totalAmount += Number(item.amount)
+      })
+      return this.basicForm.totalAmount
+    }
+  },
+  methods: {
+    getDetails(row) {
+      Mxdetail(row.id).then(res => {
+        if (res.code === 200) {
+          this.basicForm = res.data
+        }
+      })
+    },
+    editPage() {
+      this.sonPageStu = 'edit'
+      this.sonDisable = false
+    },
+    save() {
+      editSaveMx(this.basicForm).then(res => {
+        if(res.code === 200) {
+          this.$modal.notifySuccess("编辑保存成功");
+          this.sonPageStu = 'check'
+          this.sonDisable = true
+          this.getDetails(this.row)
+        }
+      })
+    },
+    back() {
+      this.$emit('jugislist', true)
+      this.$emit('refresh')
+    },
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item =>{
+        return item.id
+      })
+      console.log('选中数组', this.ids)
+    },
+    addLine() {},
+    delLines() {},
+    toOA() {
+      this.$modal.loading("正在提交,请稍后...");
+      toOAs(this.basicForm).then(res => {
+        if (res.code === 200) {
+          this.$modal.closeLoading();
+          this.$modal.notifySuccess(res.msg);
+          this.back()
+        }
+      }).catch(err => {
+        this.$modal.closeLoading();
+      })
+    },
+    changeFei(index, row) {
+      console.log(index)
+      console.log(row)
+      row.serviceFee = ((row.ratio*0.01) * row.amount).toFixed(2)
+      // this.basicForm.serviceFee = this.basicForm.itemList.map(item => {
+      //   return item.serviceFee += item.serviceFee
+      // })
+    },
+    hangStatus(row) {
+      switch (row.row.isWhether) {
+        case "0":
+          return "是";
+        case "2":
+          return "否";
+      }
+    },
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.btn_group {
+  display: flex;
+  justify-content: space-between;
+  position: absolute;
+  top: 10px;right: 20px;
+
+}
+.btn_grooup {
+  margin-bottom: 10px;
+  display: flex;
+  justify-content: space-between;
+}
+</style>

+ 9 - 8
src/views/purchase/SupAtttachment/index.vue

@@ -39,7 +39,9 @@ export default {
         this.$modal.loading("请稍候...");
         let formData = new FormData();
         formData.append("url", row.url);
-        await download(formData).then((res) => {
+        await download(formData).then(async (res) => {
+          // var buffer = new ArrayBuffer(res);
+          // var blob = new Blob([buffer], { type: "image/jpeg" });
           var blob = new Blob([res], {
             type: "image/jpeg",
           });
@@ -55,12 +57,11 @@ export default {
       }
     },
     useDbclick(row) {
-      // window.open(row.url);
-      var a = $(`<a href='${row.url}' target='_blank'>${row.name}</a>`).get(0);
-
-      var e = document.createEvent("MouseEvents");
-      e.initEvent("click", true, true);
-      a.dispatchEvent(e);
+      window.open(row.url);
+      // var oA = document.createElement("a"); //创建a标签
+      // oA.href = row.url; //添加 href 属性
+      // oA.target = "_blank"; //添加 target 属性
+      // oA.click(); //模拟点击
     },
   },
   async created() {
@@ -93,7 +94,7 @@ export default {
     >
       <ux-table-column fixed="right" title="操作" align="center" width="100">
         <template slot-scope="scope">
-          <el-button type="text" @click="useDownload(scope.row)" :size="size"
+          <el-button type="text" @click="useDbclick(scope.row)" :size="size"
             >下载</el-button
           >
         </template>