chenying 3 năm trước cách đây
mục cha
commit
d09097af79

+ 1 - 1
src/App.vue

@@ -14,7 +14,7 @@
   position: fixed;
   right: 36px;
   top: 120px;
-  z-index: 9999;
+  z-index: 999;
 }
 .my-title{
   font-size: 18px;

+ 28 - 1
src/components/work-flow/node-edit.vue

@@ -18,6 +18,7 @@
           placeholder="请选择"
           style="width: 100%"
           :disabled="disabled || selectOperator"
+          @change="onChage"
         >
           <el-option
             v-for="item in workTypeOptions"
@@ -27,6 +28,13 @@
           ></el-option>
         </el-select>
       </el-form-item>
+      <el-form-item label="工时单价">
+        <el-input
+          v-model="form.quotedPrice"
+          placeholder="工时单价"
+          disabled
+        ></el-input>
+      </el-form-item>
       <el-form-item label="备注" prop="notes">
         <el-input
           v-model="form.notes"
@@ -39,12 +47,21 @@
           :disabled="disabled || selectOperator"
         ></el-input>
       </el-form-item>
-       <el-form-item label="工序说明" prop="explain"  v-if="node.type !== 'end'">
+      <el-form-item label="工序说明" prop="explain"  v-if="node.type !== 'end'">
         <el-input
           v-model="form.explain"
           :disabled="disabled || selectOperator"
         ></el-input>
       </el-form-item>
+      <el-form-item label="所需工时" prop="preTaskTime"  v-if="node.type !== 'end'">
+        <el-input
+          v-model="form.preTaskTime"
+          :disabled="disabled || selectOperator"
+          oninput="value=value.replace(/[^0-9.]/g,'')"
+        >
+          <i slot="suffix" style="font-style:normal;margin-right: 10px;">h</i> 
+        </el-input>
+      </el-form-item>
       <el-form-item label="操作人" v-if="form.operatorName && !selectOperator">
         <el-input
           :disabled="disabled && selectOperator"
@@ -136,6 +153,9 @@ export default {
         ],
         operatorId: [
           { required: true, message: '请选择操作人', trigger: 'blur' }
+        ],
+        preTaskTime: [
+          { required: true, message: '请输入所需工时', trigger: 'blur' }
         ]
       }
     }
@@ -206,6 +226,13 @@ export default {
         }
       })
     },
+    onChage (val) {
+      this.workTypeOptions.forEach(v => {
+        if (v.typeId === val) {
+          this.form.quotedPrice = Number(v.quotedPrice || 0).toFixed(2)
+        }
+      })
+    },
     // 按工种ID查询操作人列表
     getOperatorList () {
       if (this.node.workTypeId) {

+ 111 - 6
src/views/modules/cus/contract-add-or-update.vue

@@ -27,9 +27,9 @@
       <!-- 表单 -->
       <el-form :model="dataForm" :rules="dataRule" ref="dataForm" label-width="auto">
         <el-row class="my-row">
-          <el-col :span="8">
-            <el-form-item label="评审编码" prop="reCode">
-              <el-input v-model="dataForm.reCode" :disabled="true" placeholder="系统自动生成,无需填写"></el-input>
+           <el-col :span="8" style="padding-left: 20px">
+            <el-form-item label="合同名称" prop="protocolName">
+              <el-input v-model="dataForm.protocolName" placeholder="合同名称"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="8" style="padding-left: 20px">
@@ -77,7 +77,10 @@
               <el-input v-model="dataForm.cellName" disabled placeholder="联系人"></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="8" style="padding-left: 20px">
+          <el-col :span="8">
+            <el-form-item label="评审编码" prop="reCode">
+              <el-input v-model="dataForm.reCode" :disabled="true" placeholder="系统自动生成,无需填写"></el-input>
+            </el-form-item>
           </el-col>
         </el-row>
         <el-row class="my-row">
@@ -85,6 +88,90 @@
               <el-input v-model="dataForm.notes" :disabled="display" placeholder="备注说明"></el-input>
             </el-form-item>
         </el-row>
+
+        <el-row class="my-row my-bg">
+          <div class="title">
+            与产品有关要求的明确性、符合性:
+          </div>
+          <div class="item">
+            <div class="msage">
+              1、顾客对产品的要求与潜在要求是否明确
+            </div>
+            <el-radio v-model="dataForm.part11" :label="1">是</el-radio>
+            <el-radio v-model="dataForm.part11" :label="0">否</el-radio>
+          </div>
+          <div class="item">
+            <div class="msage">
+              2、合同的合法性、完性整性、规范性
+            </div>
+            <el-radio v-model="dataForm.part12" :label="1">是</el-radio>
+            <el-radio v-model="dataForm.part12" :label="0">否</el-radio>
+          </div>
+        </el-row>
+
+        <el-row class="my-row my-bg">
+          <div class="title">
+            风险控制能力:
+          </div>
+          <div class="item">
+            <div class="msage">
+              1、图样和技术要求能否满足生产要求,产品服务和培训能否满足要求
+            </div>
+            <el-radio v-model="dataForm.part21" :label="1">是</el-radio>
+            <el-radio v-model="dataForm.part21" :label="0">否</el-radio>
+          </div>
+          <div class="item">
+            <div class="msage">
+              2、外购器材风险的控制情况,能否保障生产
+            </div>
+            <el-radio v-model="dataForm.part22" :label="1">是</el-radio>
+            <el-radio v-model="dataForm.part22" :label="0">否</el-radio>
+          </div>
+          <div class="item">
+            <div class="msage">
+              3、质量控制情况能否满足要求(生产、检验和验收设备能否满足要求)
+            </div>
+            <el-radio v-model="dataForm.part23" :label="1">是</el-radio>
+            <el-radio v-model="dataForm.part23" :label="0">否</el-radio>
+          </div>
+          <div class="item">
+            <div class="msage">
+              4、财务能否满足生产要求(成本、价格、结算方式与付款能否接受)
+            </div>
+            <el-radio v-model="dataForm.part24" :label="1">是</el-radio>
+            <el-radio v-model="dataForm.part24" :label="0">否</el-radio>
+          </div>
+          <div class="item">
+            <div class="msage">
+              5、规格数量能否满足,运输、交货方式能否满足,生产进度能否满足
+            </div>
+            <el-radio v-model="dataForm.part25" :label="1">是</el-radio>
+            <el-radio v-model="dataForm.part25" :label="0">否</el-radio>
+          </div>
+        </el-row>
+
+        <el-row class="my-row my-bg">
+          <div class="title">
+            满足规定要求的能力:
+          </div>
+          <div class="item">
+              项目组对履行承诺的风险(包括技术、质量、生产能力、进度、经费)识别:   
+            <el-radio v-model="dataForm.part31" :label="1">高</el-radio>
+            <el-radio v-model="dataForm.part31" :label="2">中</el-radio>
+            <el-radio v-model="dataForm.part31" :label="3">低</el-radio>
+          </div>
+          <div class="item">
+              控制能力:
+            <el-radio v-model="dataForm.part32" :label="1">可控</el-radio>
+            <el-radio v-model="dataForm.part32" :label="2">基本可控</el-radio>
+            <el-radio v-model="dataForm.part32" :label="3">不可控</el-radio>
+          </div>
+          <div class="item">
+            <div class="label">采取措施:</div>
+            <el-input v-model="dataForm.takeStep" style="display: inline-table; width: calc(100% - 200px);" placeholder="采取措施"></el-input>
+          </div>
+        </el-row>
+
         <el-row class="my-row">
           <upload-component :display="true" :title="'沟通信息表附件'" :accept="'*'" :file-obj-list="fileList1"/>
         </el-row>
@@ -124,6 +211,7 @@
         fileList1: [],
         stepList: [],
         logList: [],
+        radio: '',
         id: 0,
         dataForm: {
           coCode: '',
@@ -135,8 +223,8 @@
         },
         dataRule: {
           coCode: [{ required: true, message: '沟通编码不能为空', trigger: 'change' }],
-          reType: [{ required: true, message: '评审类别不能为空', trigger: 'change' }]
-          // name: [{ required: true, message: '客户名称不能为空', trigger: 'blur' }],
+          reType: [{ required: true, message: '评审类别不能为空', trigger: 'change' }],
+          protocolName: [{ required: true, message: '合同名称不能为空', trigger: 'blur' }]
           // cellName: [{ required: true, message: '联系人不能为空', trigger: 'blur' }]
         },
         display: false
@@ -263,5 +351,22 @@
 }
 .title{
   padding: 10px 0 ;
+  font-weight: bold;
+}
+.item{
+  padding: 10px 20px;
+}
+.msage{
+  display: inline-table;
+  min-width: 500px;    
+}
+.my-bg{
+  border-radius: 4px;
+  border: 1px solid #dcdfe6;
+  margin: 10px;
+  padding: 10px;
+}
+.label{
+  display: inline-table;
 }
 </style>

+ 23 - 0
src/views/modules/cus/contract-detail.vue

@@ -35,6 +35,29 @@
         <e-desc-item label="客户名称">{{dataForm.customerName}}</e-desc-item>
         <e-desc-item label="联系人" span="2">{{dataForm.bizManagerName}}</e-desc-item>
         <e-desc-item label="备注说明" span="3">{{dataForm.notes}}</e-desc-item>
+        <e-desc-item label="与产品有关要求的明确性、符合性" span="3">
+          1、顾客对产品的要求与潜在要求是否明确 -- {{ dataForm.part11 ? '是' : '否' }}
+          <br>
+          2、合同的合法性、完性整性、规范性 -- {{ dataForm.part12 ? '是' : '否' }}
+        </e-desc-item>
+        <e-desc-item label="风险控制能力" span="3">
+          1、图样和技术要求能否满足生产要求,产品服务和培训能否满足要求 -- {{ dataForm.part21 ? '是' : '否' }}
+          <br>
+          2、外购器材风险的控制情况,能否保障生产 -- {{ dataForm.part22 ? '是' : '否' }}
+          <br>
+          3、质量控制情况能否满足要求(生产、检验和验收设备能否满足要求) -- {{ dataForm.part23 ? '是' : '否' }}
+          <br>
+          4、财务能否满足生产要求(成本、价格、结算方式与付款能否接受) -- {{ dataForm.part24 ? '是' : '否' }}
+          <br>
+          5、规格数量能否满足,运输、交货方式能否满足,生产进度能否满足 -- {{ dataForm.part25 ? '是' : '否' }}
+        </e-desc-item>
+        <e-desc-item label="满足规定要求的能力" span="3">
+          项目组对履行承诺的风险(包括技术、质量、生产能力、进度、经费)识别: {{ dataForm.part31 === 1 ? '高' : dataForm.part31 === 2 ? '中' : '低' }}
+          <br>
+          控制能力: {{ dataForm.part31 === 1 ? '可控' : dataForm.part31 === 2 ? '基本可控' : '不可控' }}
+          <br>
+          采取措施: {{ dataForm.takeStep || '无' }}
+        </e-desc-item>
       </e-desc>
       <e-desc title="沟通信息表附件">
         <upload-component :display="true" :display-title="false" :accept="'*'" :file-obj-list="fileList1"/>

+ 6 - 6
src/views/modules/msg-center/approve-add-or-update.vue

@@ -1,22 +1,22 @@
 <template>
   <div>
     <div v-show="businessType === 'warehouse_flow_in'|| this.businessType === 'warehouse_flow_out'">
-      <stock-order-detail ref="stockOrderDetail" @approveFinished="approveFinished"/>
+      <stock-order-detail ref="stockOrderDetail" @approveFinished="approveFinished" @onChose="onChose"/>
     </div>
     <div v-show="businessType === 'contract_review'">
-      <contract-detail ref="contractDetail" @approveFinished="approveFinished"/>
+      <contract-detail ref="contractDetail" @approveFinished="approveFinished" @onChose="onChose"/>
     </div>
     <div v-show="businessType === 'sale_order_flow'">
-      <order-detail ref="orderDetail" @approveFinished="approveFinished"/>
+      <order-detail ref="orderDetail" @approveFinished="approveFinished" @onChose="onChose"/>
     </div>
     <div v-show="businessType === 'sale_purchase_flow'">
-      <purchase-detail ref="purchaseDetail" @approveFinished="approveFinished"/>
+      <purchase-detail ref="purchaseDetail" @approveFinished="approveFinished" @onChose="onChose"/>
     </div>
     <div v-show="businessType === 'wh_template_record_flow'">
-      <template-out-detail ref="templateOutDetail" @approveFinished="approveFinished"/>
+      <template-out-detail ref="templateOutDetail" @approveFinished="approveFinished" @onChose="onChose"/>
     </div>
     <div v-show="businessType === 'pro_product_flow'">
-      <product-detail ref="productDetail" @approveFinished="approveFinished"/>
+      <product-detail ref="productDetail" @approveFinished="approveFinished" @onChose="onChose"/>
     </div>
     <div v-show="businessType === 'pro_technology_flow'">
       <craft-detail ref="craftDetail" @approveFinished="approveFinished" @onChose="onChose"/>

+ 12 - 1
src/views/modules/tech/work-type-add-or-update.vue

@@ -34,6 +34,15 @@
             </el-form-item>
           </el-col>
         </el-row>
+        <el-row class="my-row">
+          <el-col :span="8">
+            <el-form-item label="工时单价" prop="quotedPrice">
+              <el-input v-model="dataForm.quotedPrice" placeholder="工时单价" oninput="value=value.replace(/[^0-9.]/g,'')">
+                <i slot="suffix" style="font-style:normal;margin-right: 10px;">元</i> 
+              </el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
         <el-row class="my-row">
           <el-col :span="24">
             <el-form-item label="工种要求" prop="requirement">
@@ -86,7 +95,8 @@
         dataRule: {
           name: [{ required: true, message: '工种名称不能为空', trigger: 'blur' }],
           level: [{ required: true, message: '工种级别不能为空', trigger: 'change' }],
-          requirement: [{ required: true, message: '工种要求不能为空', trigger: 'blur' }]
+          requirement: [{ required: true, message: '工种要求不能为空', trigger: 'blur' }],
+          quotedPrice: [{ required: true, message: '工时单价不能为空', trigger: 'blur' }]
         }
       }
     },
@@ -131,6 +141,7 @@
               notes: this.dataForm.notes,
               orgId: this.orgId,
               requirement: this.dataForm.requirement,
+              quotedPrice: this.dataForm.quotedPrice,
               typeId: this.id ? this.id : null
             }
             addOrUpdateWorkType(params, !this.id).then(({data}) => {

+ 3 - 2
src/views/modules/tech/work-type-detail.vue

@@ -11,7 +11,7 @@
       <div v-show="dataForm.workFlowBusinessExt">
         <el-steps :active="dataForm.workFlowBusinessExt&&dataForm.workFlowBusinessExt.workFlowProcessStepList?dataForm.workFlowBusinessExt.workFlowProcessStepList.length + 2:0" align-center style="margin-bottom: 20px">
           <template v-for="(item, i) in stepList">
-            <el-step :icon="item.icon" :title="item.title" :description="item.description"></el-step>
+            <el-step :key="i + '_mesg'" :icon="item.icon" :title="item.title" :description="item.description"></el-step>
           </template>
         </el-steps>
         <el-collapse style="margin-bottom: 20px">
@@ -20,7 +20,7 @@
               <span style="color: red">审批日志(展开查看更多):</span>
             </template>
             <template v-for="(item, i) in logList">
-              <div>{{++i}}:{{item.approverName}}  {{item.createTime}}  {{item.approvalValue}}</div>
+              <div :key="i + '_log'">{{++i}}:{{item.approverName}}  {{item.createTime}}  {{item.approvalValue}}</div>
             </template>
           </el-collapse-item>
         </el-collapse>
@@ -29,6 +29,7 @@
         <e-desc-item label="工种编码">{{dataForm.code}}</e-desc-item>
         <e-desc-item label="工种名称">{{dataForm.name}}</e-desc-item>
         <e-desc-item label="工种级别">{{dataForm.levelValue}}</e-desc-item>
+        <e-desc-item label="工时单价" span="3">{{dataForm.quotedPrice}}元</e-desc-item>
         <e-desc-item label="工种要求" span="3">{{dataForm.requirement}}</e-desc-item>
         <e-desc-item label="备注" span="3">{{dataForm.notes}}</e-desc-item>
         <e-desc-item label="掌握人" span="3">{{dataForm.masterNames?dataForm.masterNames.toString():''}}</e-desc-item>

+ 11 - 0
src/views/modules/tech/work-type.vue

@@ -66,6 +66,17 @@
           :show-tooltip-when-overflow="true"
           label="工种要求">
         </el-table-column>
+        <el-table-column
+          prop="quotedPrice"
+          header-align="center"
+          align="center"
+          min-width="120"
+          :show-tooltip-when-overflow="true"
+          label="工时单价">
+          <template slot-scope="scope">
+            <span>{{ Number(scope.row.quotedPrice || 0).toFixed(2) }}元</span>
+          </template>
+        </el-table-column>
         <el-table-column
           prop="masterNames"
           header-align="center"