lizhenhao 2 роки тому
батько
коміт
e9f15428d7

+ 376 - 356
src/views/modules/program/registered/ProjectArchiveForm.vue

@@ -1,384 +1,395 @@
 <template xmlns:v-slot="http://www.w3.org/1999/XSL/Transform">
   <div>
-    <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="formReadOnly"
-             label-width="170px" @submit.native.prevent>
-      <el-row  :gutter="15">
-        <el-col :span="12">
-          <el-form-item label="项目名称" prop="programProjectListInfo.name"
-          >
-            <el-input size="medium" :disabled="true" v-model="inputForm.programProjectListInfo.name" placeholder="请输入项目名称" clearable></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="评估基准日" prop="programProjectListInfo.assessmentDate"
-          >
-            <el-date-picker
-              :disabled="true"
-              v-model="inputForm.programProjectListInfo.assessmentDate"
-              type="date"
-              value-format="yyyy-MM-dd"
-              placeholder="选择评估基准日"
-              style="width:100%"
-              placement="bottom-start"
-              clearable>
-            </el-date-picker>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="报告号" prop="reportNo"
-          >
-            <el-input size="medium" :disabled="true" v-model="inputForm.reportNo" placeholder="请输入报告号" clearable></el-input>
-          </el-form-item>
-        </el-col>
 
-        <el-col :span="12">
-          <el-form-item label="项目负责人" prop="programProjectListInfo.projectManager"
-          >
-            <SelectUserTree
-              ref="companyTree"
-              size="medium"
-              :props="{
+    <div>
+      <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="formReadOnly"
+               label-width="170px" @submit.native.prevent>
+        <div v-if="formReadOnly===true&&inputForm.status === '0'||commonJS.isEmpty(inputForm.status)">
+          <el-empty></el-empty>
+        </div>
+        <div v-else>
+          <el-row  :gutter="15">
+            <el-col :span="12">
+              <el-form-item label="项目名称" prop="programProjectListInfo.name"
+              >
+                <el-input size="medium" :disabled="true" v-model="inputForm.programProjectListInfo.name" placeholder="请输入项目名称" clearable></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="评估基准日" prop="programProjectListInfo.assessmentDate"
+              >
+                <el-date-picker
+                  :disabled="true"
+                  v-model="inputForm.programProjectListInfo.assessmentDate"
+                  type="date"
+                  value-format="yyyy-MM-dd"
+                  placeholder="选择评估基准日"
+                  style="width:100%"
+                  placement="bottom-start"
+                  clearable>
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="报告号" prop="reportNo"
+              >
+                <el-input size="medium" :disabled="true" v-model="inputForm.reportNo" placeholder="请输入报告号" clearable></el-input>
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="12">
+              <el-form-item label="项目负责人" prop="programProjectListInfo.projectManager"
+              >
+                <SelectUserTree
+                  ref="companyTree"
+                  size="medium"
+                  :props="{
                   value: 'id',             // ID字段名
                   label: 'name',         // 显示名称
                   children: 'children'    // 子级字段名
                 }"
-              :url="`/sys/user/treeUserDataAllOffice?type=2`"
-              :value="inputForm.programProjectListInfo.projectManager"
-              :disabled="true"
-              :clearable="true"
-              :accordion="true"
-              @getValue="(value) => {inputForm.programProjectListInfo.projectManager=value}"/>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="所属部门" prop="programProjectListInfo.officeId"
-          >
-            <el-input size="medium" :disabled="true" v-model="inputForm.programProjectListInfo.officeId" placeholder="请输入所属部门" clearable></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="年份" prop="year"
-                        :rules="[
+                  :url="`/sys/user/treeUserDataAllOffice?type=2`"
+                  :value="inputForm.programProjectListInfo.projectManager"
+                  :disabled="true"
+                  :clearable="true"
+                  :accordion="true"
+                  @getValue="(value) => {inputForm.programProjectListInfo.projectManager=value}"/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="所属部门" prop="programProjectListInfo.officeId"
+              >
+                <el-input size="medium" :disabled="true" v-model="inputForm.programProjectListInfo.officeId" placeholder="请输入所属部门" clearable></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="年份" prop="year"
+                            :rules="[
                   {required: true, message:'年份不能为空', trigger:'blur'}
                  ]">
-            <el-date-picker
-              v-model="inputForm.year"
-              type="year"
-              value-format="yyyy"
-              placeholder="选择评年份"
-              style="width:100%"
-              placement="bottom-start"
-              clearable>
-            </el-date-picker>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="项目类型" prop="programType"
-                        :rules="[
+                <el-date-picker
+                  v-model="inputForm.year"
+                  type="year"
+                  value-format="yyyy"
+                  placeholder="选择评年份"
+                  style="width:100%"
+                  placement="bottom-start"
+                  clearable>
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="项目类型" prop="programType"
+                            :rules="[
                         {required: true, message:'项目类型不能为空', trigger:'blur'}
                  ]">
-            <el-input v-model="inputForm.programType" maxlength="64" placeholder="请填写项目类型"    clearable ></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="评估报告日" prop="evaluationReportDate"
-                        :rules="[
+                <el-input v-model="inputForm.programType" maxlength="64" placeholder="请填写项目类型"    clearable ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="评估报告日" prop="evaluationReportDate"
+                            :rules="[
                         {required: true, message:'评估报告日不能为空', trigger:'blur'}
                  ]">
-            <el-date-picker
-              style="width:100%;"
-              v-model="inputForm.evaluationReportDate"
-              type="date"
-              placement="bottom-start"
-              value-format="yyyy-MM-dd"
-              placeholder="选择日期"clearable>
-            </el-date-picker>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="协议号" prop="protocolNum"
-                        :rules="[
+                <el-date-picker
+                  style="width:100%;"
+                  v-model="inputForm.evaluationReportDate"
+                  type="date"
+                  placement="bottom-start"
+                  value-format="yyyy-MM-dd"
+                  placeholder="选择日期"clearable>
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="协议号" prop="protocolNum"
+                            :rules="[
                         {required: true, message:'协议号不能为空', trigger:'blur'}
                  ]">
-            <el-input v-model="inputForm.protocolNum" maxlength="64" placeholder="请填写协议号"   clearable  ></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="废旧物资评估(万元)" prop="waystEvaluation"
-                        :rules="[
+                <el-input v-model="inputForm.protocolNum" maxlength="64" placeholder="请填写协议号"   clearable  ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="废旧物资评估(万元)" prop="waystEvaluation"
+                            :rules="[
                         {required: true, message:'废旧物资评估不能为空', trigger:'blur'}
                  ]">
-            <el-input-number
-              v-model="inputForm.waystEvaluation"
-              controls-position="right"
-              :controls="false"
-              :max="999999999999999"
-              style="width:100%;"
-              :precision="2"
-              placeholder="请填写废旧物资评估"
-              :step="0.01"
-              :min="0"
-              clearable>
-            </el-input-number>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="固定资产评估(万元)" prop="fixedAssetsEvaluation"
-                        :rules="[
+                <el-input-number
+                  v-model="inputForm.waystEvaluation"
+                  controls-position="right"
+                  :controls="false"
+                  :max="999999999999999"
+                  style="width:100%;"
+                  :precision="2"
+                  placeholder="请填写废旧物资评估"
+                  :step="0.01"
+                  :min="0"
+                  clearable>
+                </el-input-number>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="固定资产评估(万元)" prop="fixedAssetsEvaluation"
+                            :rules="[
                         {required: true, message:'固定资产评估不能为空', trigger:'blur'}
                  ]">
-            <el-input-number
-              v-model="inputForm.fixedAssetsEvaluation"
-              controls-position="right"
-              :controls="false"
-              :max="999999999999999"
-              style="width:100%;"
-              :precision="2"
-              placeholder="请填写固定资产评估"
-              :step="0.01"
-              :min="0"
-              clearable>
-            </el-input-number>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="净资产评估" prop="netAssetsEvaluation"
-                        :rules="[
+                <el-input-number
+                  v-model="inputForm.fixedAssetsEvaluation"
+                  controls-position="right"
+                  :controls="false"
+                  :max="999999999999999"
+                  style="width:100%;"
+                  :precision="2"
+                  placeholder="请填写固定资产评估"
+                  :step="0.01"
+                  :min="0"
+                  clearable>
+                </el-input-number>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="净资产评估" prop="netAssetsEvaluation"
+                            :rules="[
                         {required: true, message:'净资产评估不能为空', trigger:'blur'}
                  ]">
-            <el-input v-model="inputForm.netAssetsEvaluation" maxlength="64" placeholder="请填写净资产评估" @keyup.native="inputForm.netAssetsEvaluation = twoDecimalPlaces(inputForm.netAssetsEvaluation)"clearable></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="租金评估(万/年)" prop="rentEvaluation"
-                        :rules="[
+                <el-input v-model="inputForm.netAssetsEvaluation" maxlength="64" placeholder="请填写净资产评估" @keyup.native="inputForm.netAssetsEvaluation = twoDecimalPlaces(inputForm.netAssetsEvaluation)"clearable></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="租金评估(万/年)" prop="rentEvaluation"
+                            :rules="[
                         {required: true, message:'租金评估不能为空', trigger:'blur'}
                  ]">
-            <el-input-number
-              v-model="inputForm.rentEvaluation"
-              controls-position="right"
-              :controls="false"
-              :max="999999999999999"
-              style="width:100%;"
-              :precision="2"
-              placeholder="请填写租金评估"
-              :step="0.01"
-              :min="0"
-              clearable>
-            </el-input-number>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="司法鉴定" prop="forensics"
-                        :rules="[
+                <el-input-number
+                  v-model="inputForm.rentEvaluation"
+                  controls-position="right"
+                  :controls="false"
+                  :max="999999999999999"
+                  style="width:100%;"
+                  :precision="2"
+                  placeholder="请填写租金评估"
+                  :step="0.01"
+                  :min="0"
+                  clearable>
+                </el-input-number>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="司法鉴定" prop="forensics"
+                            :rules="[
                         {required: true, message:'司法鉴定不能为空', trigger:'blur'}
                  ]">
-            <el-input v-model="inputForm.forensics" maxlength="64" placeholder="请填写司法鉴定"    clearable ></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="报告收费(元)" prop="reportCharges"
-                        :rules="[
+                <el-input v-model="inputForm.forensics" maxlength="64" placeholder="请填写司法鉴定"    clearable ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="报告收费(元)" prop="reportCharges"
+                            :rules="[
                         {required: true, message:'报告收费不能为空', trigger:'blur'}
                  ]">
-            <el-input-number
-              v-model="inputForm.reportCharges"
-              controls-position="right"
-              :controls="false"
-              :max="999999999999999"
-              style="width:100%;"
-              :precision="2"
-              placeholder="请填写报告收费"
-              :step="0.01"
-              :min="0"
-              clearable>
-            </el-input-number>
-          </el-form-item>
-        </el-col>
+                <el-input-number
+                  v-model="inputForm.reportCharges"
+                  controls-position="right"
+                  :controls="false"
+                  :max="999999999999999"
+                  style="width:100%;"
+                  :precision="2"
+                  placeholder="请填写报告收费"
+                  :step="0.01"
+                  :min="0"
+                  clearable>
+                </el-input-number>
+              </el-form-item>
+            </el-col>
 
-        <el-col :span="12">
-          <el-form-item label="当前处理人" prop="currentDisposePerson"
-                        :rules=" [
+            <el-col :span="12">
+              <el-form-item label="当前处理人" prop="currentDisposePerson"
+                            :rules=" [
                         {required: true, message:'当前处理人不能为空', trigger:'blur'}
                         ]" >
-            <UserSelect size="medium" :disabled="formReadOnly" :readonly="true" :limit='1' :value="inputForm.currentDisposePerson" @getValue='(value) => {inputForm.currentDisposePerson = value}'></UserSelect>
-          </el-form-item>
-        </el-col>
+                <UserSelect size="medium" :disabled="formReadOnly" :readonly="true" :limit='1' :value="inputForm.currentDisposePerson" @getValue='(value) => {inputForm.currentDisposePerson = value}'></UserSelect>
+              </el-form-item>
+            </el-col>
 
-        <el-col :span="12">
-          <el-form-item label="是否开票" prop="isInvoice"
-                        :rules="[
+            <el-col :span="12">
+              <el-form-item label="是否开票" prop="isInvoice"
+                            :rules="[
                         {required: true, message:'是否开票不能为空', trigger:'blur'}
                  ]">
-            <el-radio-group v-model="inputForm.isInvoice">
-              <el-radio v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" :key="item.id">{{item.label}}</el-radio>
-            </el-radio-group>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="开票日期" prop="invoiceDate"
-                        :rules="[
+                <el-radio-group v-model="inputForm.isInvoice">
+                  <el-radio v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" :key="item.id">{{item.label}}</el-radio>
+                </el-radio-group>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="开票日期" prop="invoiceDate"
+                            :rules="[
                  ]">
-            <el-date-picker
-              style="width:100%;"
-              placement="bottom-start"
-              v-model="inputForm.invoiceDate"
-              type="date"
-              value-format="yyyy-MM-dd"
-              placeholder="选择日期时间"clearable>
-            </el-date-picker>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="预估/实际收费(万元)" prop="actualCharges"
-                        :rules="[
+                <el-date-picker
+                  style="width:100%;"
+                  placement="bottom-start"
+                  v-model="inputForm.invoiceDate"
+                  type="date"
+                  value-format="yyyy-MM-dd"
+                  placeholder="选择日期时间"clearable>
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="预估/实际收费(万元)" prop="actualCharges"
+                            :rules="[
                         {required: true, message:'预估/实际收费不能为空', trigger:'blur'}
                  ]">
-            <el-input-number
-              v-model="inputForm.actualCharges"
-              controls-position="right"
-              :controls="false"
-              :max="999999999999999"
-              style="width:100%;"
-              :precision="2"
-              placeholder="请填写预估/实际收费"
-              :step="0.01"
-              :min="0"
-              clearable>
-            </el-input-number>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="合同是否存档" prop="isContractArchive"
-                        :rules="[
+                <el-input-number
+                  v-model="inputForm.actualCharges"
+                  controls-position="right"
+                  :controls="false"
+                  :max="999999999999999"
+                  style="width:100%;"
+                  :precision="2"
+                  placeholder="请填写预估/实际收费"
+                  :step="0.01"
+                  :min="0"
+                  clearable>
+                </el-input-number>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="合同是否存档" prop="isContractArchive"
+                            :rules="[
                         {required: true, message:'合同是否存档不能为空', trigger:'blur'}
                  ]">
-            <el-radio-group v-model="inputForm.isContractArchive">
-              <el-radio v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" :key="item.id">{{item.label}}</el-radio>
-            </el-radio-group>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="底稿是否完好" prop="isPapersIntact"
-                        :rules="[
+                <el-radio-group v-model="inputForm.isContractArchive">
+                  <el-radio v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" :key="item.id">{{item.label}}</el-radio>
+                </el-radio-group>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="底稿是否完好" prop="isPapersIntact"
+                            :rules="[
                         {required: true, message:'底稿是否完好不能为空', trigger:'blur'}
                  ]">
-            <el-radio-group v-model="inputForm.isPapersIntact">
-              <el-radio v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" :key="item.id">{{item.label}}</el-radio>
-            </el-radio-group>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="底稿是否归档" prop="isPapersArchive"
-                        :rules="[
+                <el-radio-group v-model="inputForm.isPapersIntact">
+                  <el-radio v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" :key="item.id">{{item.label}}</el-radio>
+                </el-radio-group>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="底稿是否归档" prop="isPapersArchive"
+                            :rules="[
                         {required: true, message:'底稿是否归档不能为空', trigger:'blur'}
                  ]">
-            <el-radio-group v-model="inputForm.isPapersArchive">
-              <el-radio v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" :key="item.id">{{item.label}}</el-radio>
-            </el-radio-group>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="报销外勤天数" prop="opsAmount"
-                        :rules="[
+                <el-radio-group v-model="inputForm.isPapersArchive">
+                  <el-radio v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" :key="item.id">{{item.label}}</el-radio>
+                </el-radio-group>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="报销外勤天数" prop="opsAmount"
+                            :rules="[
                         {required: true, message:'报销外勤天数不能为空', trigger:'blur'}
                  ]">
-            <el-input-number
-              v-model="inputForm.opsAmount"
-              controls-position="right"
-              :controls="false"
-              :max="999999"
-              style="width:100%;"
-              :precision="1"
-              placeholder="请填写报销外勤天数"
-              :step="0.1"
-              :min="0"
-              clearable>
-            </el-input-number>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="外勤是否已经报销" prop="isOpsReimbursement"
-                        :rules="[
+                <el-input-number
+                  v-model="inputForm.opsAmount"
+                  controls-position="right"
+                  :controls="false"
+                  :max="999999"
+                  style="width:100%;"
+                  :precision="1"
+                  placeholder="请填写报销外勤天数"
+                  :step="0.1"
+                  :min="0"
+                  clearable>
+                </el-input-number>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="外勤是否已经报销" prop="isOpsReimbursement"
+                            :rules="[
                         {required: true, message:'外勤是否已经报销不能为空', trigger:'blur'}
                  ]">
-            <el-radio-group v-model="inputForm.isOpsReimbursement">
-              <el-radio v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" :key="item.id">{{item.label}}</el-radio>
-            </el-radio-group>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="已报销金额" prop="reimbursementAmount"
-                        :rules="[
+                <el-radio-group v-model="inputForm.isOpsReimbursement">
+                  <el-radio v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" :key="item.id">{{item.label}}</el-radio>
+                </el-radio-group>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="已报销金额" prop="reimbursementAmount"
+                            :rules="[
                         {required: true, message:'已报销金额不能为空', trigger:'blur'}
                  ]">
-            <el-input-number
-              v-model="inputForm.reimbursementAmount"
-              controls-position="right"
-              :controls="false"
-              :max="999999999999999"
-              style="width:100%;"
-              :precision="2"
-              placeholder="请填写已报销金额"
-              :step="0.01"
-              :min="0"
-              clearable>
-            </el-input-number>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="未报销金额" prop="unreimbursedAmount"
-                        :rules="[
+                <el-input-number
+                  v-model="inputForm.reimbursementAmount"
+                  controls-position="right"
+                  :controls="false"
+                  :max="999999999999999"
+                  style="width:100%;"
+                  :precision="2"
+                  placeholder="请填写已报销金额"
+                  :step="0.01"
+                  :min="0"
+                  clearable>
+                </el-input-number>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="未报销金额" prop="unreimbursedAmount"
+                            :rules="[
                         {required: true, message:'未报销金额不能为空', trigger:'blur'}
                  ]">
-            <el-input-number
-              v-model="inputForm.unreimbursedAmount"
-              controls-position="right"
-              :controls="false"
-              :max="999999999999999"
-              style="width:100%;"
-              :precision="2"
-              placeholder="请填写未报销金额"
-              :step="0.01"
-              :min="0"
-              clearable>
-            </el-input-number>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="报销单号" prop="reimbursementNum"
-                        :rules="[
+                <el-input-number
+                  v-model="inputForm.unreimbursedAmount"
+                  controls-position="right"
+                  :controls="false"
+                  :max="999999999999999"
+                  style="width:100%;"
+                  :precision="2"
+                  placeholder="请填写未报销金额"
+                  :step="0.01"
+                  :min="0"
+                  clearable>
+                </el-input-number>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="报销单号" prop="reimbursementNum"
+                            :rules="[
                  ]">
-            <el-input v-model="inputForm.reimbursementNum" maxlength="64" placeholder="请填写报销单号"   clearable  ></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="报销日期" prop="reimbursementDate"
-                        :rules="[
+                <el-input v-model="inputForm.reimbursementNum" maxlength="64" placeholder="请填写报销单号"   clearable  ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="报销日期" prop="reimbursementDate"
+                            :rules="[
                  ]">
-            <el-date-picker
-              placement="bottom-start"
-              style="width:100%;"
-              v-model="inputForm.reimbursementDate"
-              type="date"
-              value-format="yyyy-MM-dd"
-              placeholder="选择日期时间"clearable>
-            </el-date-picker>
-          </el-form-item>
-        </el-col>
-      </el-row>
+                <el-date-picker
+                  placement="bottom-start"
+                  style="width:100%;"
+                  v-model="inputForm.reimbursementDate"
+                  type="date"
+                  value-format="yyyy-MM-dd"
+                  placeholder="选择日期时间"clearable>
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <!--附件信息 - 评估报告-->
+          <UpLoadComponent ref="uploadComponentReport"></UpLoadComponent>
+          <!--附件信息 - 评估说明-->
+          <UpLoadComponent ref="uploadComponentExplain"></UpLoadComponent>
+          <!--附件信息 - 评估明细表-->
+          <UpLoadComponent ref="uploadComponentDetail"></UpLoadComponent>
+          <!--附件信息 - 评估操作计算底稿-->
+          <UpLoadComponent ref="uploadComponentPapers"></UpLoadComponent>
+          <!--附件信息 - 其他-->
+          <UpLoadComponent ref="uploadComponentOther"></UpLoadComponent>
+        </div>
+
+
+      </el-form>
+
+    </div>
 
-    </el-form>
-    <!--附件信息 - 评估报告-->
-    <UpLoadComponent ref="uploadComponentReport"></UpLoadComponent>
-    <!--附件信息 - 评估说明-->
-    <UpLoadComponent ref="uploadComponentExplain"></UpLoadComponent>
-    <!--附件信息 - 评估明细表-->
-    <UpLoadComponent ref="uploadComponentDetail"></UpLoadComponent>
-    <!--附件信息 - 评估操作计算底稿-->
-    <UpLoadComponent ref="uploadComponentPapers"></UpLoadComponent>
-    <!--附件信息 - 其他-->
-    <UpLoadComponent ref="uploadComponentOther"></UpLoadComponent>
   </div>
 </template>
 
@@ -494,6 +505,9 @@
         this.keyWatch = keyWatch
       },
       init (method, id) {
+        if (method === 'formReadOnly') {
+          this.formReadOnly = true
+        }
         this.method = method
         this.inputForm = {
           id: '',
@@ -539,37 +553,43 @@
           this.$refs.inputForm.resetFields()
           this.loading = true
           this.programProjectListInfoService.findByIdArchive(this.inputForm.id).then(({data}) => {
-            this.$refs.uploadComponentReport.clearUpload()
-            this.$refs.uploadComponentExplain.clearUpload()
-            this.$refs.uploadComponentDetail.clearUpload()
-            this.$refs.uploadComponentPapers.clearUpload()
-            this.$refs.uploadComponentOther.clearUpload()
             this.inputForm = this.recover(this.inputForm, data)
             this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
-            if (this.formReadOnly === true) {
-              method = 'view'
-            }
-            if (this.commonJS.isEmpty(this.inputForm.reportFileList)) {
-              this.inputForm.reportFileList = []
-            }
-            if (this.commonJS.isEmpty(this.inputForm.explainFileList)) {
-              this.inputForm.explainFileList = []
-            }
-            if (this.commonJS.isEmpty(this.inputForm.detailFileList)) {
-              this.inputForm.detailFileList = []
-            }
-            if (this.commonJS.isEmpty(this.inputForm.papersFileList)) {
-              this.inputForm.papersFileList = []
-            }
-            if (this.commonJS.isEmpty(this.inputForm.otherFileList)) {
-              this.inputForm.otherFileList = []
+            if (this.formReadOnly === true & this.inputForm.status === '0' || this.commonJS.isEmpty(this.inputForm.status)) {
+              this.loading = false
+            } else {
+              this.$nextTick(() => {
+                this.$refs.uploadComponentReport.clearUpload()
+                this.$refs.uploadComponentExplain.clearUpload()
+                this.$refs.uploadComponentDetail.clearUpload()
+                this.$refs.uploadComponentPapers.clearUpload()
+                this.$refs.uploadComponentOther.clearUpload()
+                if (this.formReadOnly === true) {
+                  method = 'view'
+                }
+                if (this.commonJS.isEmpty(this.inputForm.reportFileList)) {
+                  this.inputForm.reportFileList = []
+                }
+                if (this.commonJS.isEmpty(this.inputForm.explainFileList)) {
+                  this.inputForm.explainFileList = []
+                }
+                if (this.commonJS.isEmpty(this.inputForm.detailFileList)) {
+                  this.inputForm.detailFileList = []
+                }
+                if (this.commonJS.isEmpty(this.inputForm.papersFileList)) {
+                  this.inputForm.papersFileList = []
+                }
+                if (this.commonJS.isEmpty(this.inputForm.otherFileList)) {
+                  this.inputForm.otherFileList = []
+                }
+                this.$refs.uploadComponentReport.newUpload(method, this.inputForm.reportFileList, 'program', null, '评估报告')
+                this.$refs.uploadComponentExplain.newUpload(method, this.inputForm.explainFileList, 'program', null, '评估说明')
+                this.$refs.uploadComponentDetail.newUpload(method, this.inputForm.detailFileList, 'program', null, '评估明细表')
+                this.$refs.uploadComponentPapers.newUpload(method, this.inputForm.papersFileList, 'program', null, '评估操作计算底稿')
+                this.$refs.uploadComponentOther.newUpload(method, this.inputForm.otherFileList, 'program', null, '其他')
+                this.loading = false
+              })
             }
-            this.$refs.uploadComponentReport.newUpload(method, this.inputForm.reportFileList, 'program', null, '评估报告')
-            this.$refs.uploadComponentExplain.newUpload(method, this.inputForm.explainFileList, 'program', null, '评估说明')
-            this.$refs.uploadComponentDetail.newUpload(method, this.inputForm.detailFileList, 'program', null, '评估明细表')
-            this.$refs.uploadComponentPapers.newUpload(method, this.inputForm.papersFileList, 'program', null, '评估操作计算底稿')
-            this.$refs.uploadComponentOther.newUpload(method, this.inputForm.otherFileList, 'program', null, '其他')
-            this.loading = false
           })
         })
       },

Різницю між файлами не показано, бо вона завелика
+ 706 - 610
src/views/modules/program/registered/ProjectForm.vue


Різницю між файлами не показано, бо вона завелика
+ 1154 - 0
src/views/modules/program/registered/ProjectForm2.vue


+ 4 - 4
src/views/modules/program/registered/ProjectList.vue

@@ -90,8 +90,8 @@
           <vxe-column type="checkbox" width="40" ></vxe-column>
           <vxe-column min-width="170" align="center" title="项目名称" field="name" >
             <template slot-scope="scope">
-              <el-link  type="primary" :underline="false" v-if="hasPermission('program:registered:view')" @click="view(scope.row.id)">{{scope.row.name}}</el-link>
-              <el-link  type="primary" :underline="false" v-else-if="hasPermission('program:registered:view')" @click="view(scope.row.id)">{{scope.row.name}}</el-link>
+              <el-link  type="primary" :underline="false" v-if="hasPermission('program:registered:view')" @click="view(scope.row)">{{scope.row.name}}</el-link>
+              <el-link  type="primary" :underline="false" v-else-if="hasPermission('program:registered:view')" @click="view(scope.row)">{{scope.row.name}}</el-link>
               <span v-else>{{scope.row.name}}</span>
             </template>
           </vxe-column>
@@ -274,8 +274,8 @@
         this.$refs.projectForm.init('edit', id)
       },
       // 查看
-      view (id) {
-        this.$refs.projectForm.init('view', id)
+      view (row) {
+        this.$refs.projectForm.init('view', row.id, row.auditId1, row.auditId2, row.auditId3, row.archiveId)
       },
       // 获取数据列表
       refreshList () {

+ 158 - 139
src/views/modules/program/registered/ProjectThreeAuditForm.vue

@@ -1,118 +1,128 @@
 <template xmlns:v-slot="http://www.w3.org/1999/XSL/Transform">
   <div>
-    <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="formReadOnly"
-             label-width="125px" @submit.native.prevent>
-      <el-row  :gutter="15">
-        <el-col :span="12">
-          <el-form-item label="项目名称" prop="programProjectListInfo.name"
-          >
-            <el-input size="medium" :disabled="true" v-model="inputForm.programProjectListInfo.name" placeholder="请输入项目名称" clearable></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="评估基准日" prop="programProjectListInfo.assessmentDate"
-          >
-            <el-date-picker
-              :disabled="true"
-              v-model="inputForm.programProjectListInfo.assessmentDate"
-              type="date"
-              value-format="yyyy-MM-dd"
-              placeholder="选择评估基准日"
-              style="width:100%"
-              placement="bottom-start"
-              clearable>
-            </el-date-picker>
-          </el-form-item>
-        </el-col>
 
-          <el-col :span="12">
-            <el-form-item label="专业评估人员" prop="auditPeopleList"
-                          :rules="[{required: true, message: '专业评估人员不能为空', trigger: 'blur'},{required: true, message: '专业评估人员不能为空', trigger: 'change'}]"
-            >
-              <UserSelect size="medium" :disabled="formReadOnly" :readonly="true" :limit='10' :value="inputForm.auditPeopleList" @getValue='(value) => {inputForm.auditPeopleList = value}'></UserSelect>
-            </el-form-item>
-          </el-col>
-        <el-col :span="12">
-          <el-form-item label="项目负责人" prop="programProjectListInfo.projectManager"
-          >
-            <SelectUserTree
-              ref="companyTree"
-              size="medium"
-              :props="{
+
+    <div>
+      <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="formReadOnly"
+               label-width="125px" @submit.native.prevent>
+        <div v-if="formReadOnly===true&&inputForm.status === '0'||commonJS.isEmpty(inputForm.status)">
+          <el-empty></el-empty>
+        </div>
+        <div v-else>
+          <el-row  :gutter="15">
+            <el-col :span="12">
+              <el-form-item label="项目名称" prop="programProjectListInfo.name"
+              >
+                <el-input size="medium" :disabled="true" v-model="inputForm.programProjectListInfo.name" placeholder="请输入项目名称" clearable></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="评估基准日" prop="programProjectListInfo.assessmentDate"
+              >
+                <el-date-picker
+                  :disabled="true"
+                  v-model="inputForm.programProjectListInfo.assessmentDate"
+                  type="date"
+                  value-format="yyyy-MM-dd"
+                  placeholder="选择评估基准日"
+                  style="width:100%"
+                  placement="bottom-start"
+                  clearable>
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="12">
+              <el-form-item label="专业评估人员" prop="auditPeopleList"
+                            :rules="[{required: true, message: '专业评估人员不能为空', trigger: 'blur'},{required: true, message: '专业评估人员不能为空', trigger: 'change'}]"
+              >
+                <UserSelect size="medium" :disabled="formReadOnly" :readonly="true" :limit='10' :value="inputForm.auditPeopleList" @getValue='(value) => {inputForm.auditPeopleList = value}'></UserSelect>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="项目负责人" prop="programProjectListInfo.projectManager"
+              >
+                <SelectUserTree
+                  ref="companyTree"
+                  size="medium"
+                  :props="{
                   value: 'id',             // ID字段名
                   label: 'name',         // 显示名称
                   children: 'children'    // 子级字段名
                 }"
-              :url="`/sys/user/treeUserDataAllOffice?type=2`"
-              :value="inputForm.programProjectListInfo.projectManager"
-              :disabled="true"
-              :clearable="true"
-              :accordion="true"
-              @getValue="(value) => {inputForm.programProjectListInfo.projectManager=value}"/>
-          </el-form-item>
-        </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="选择项目审核人" prop="auditPeople"
-                          :rules="[{required: true, message: '审批人不能为空', trigger: 'blur'},{required: true, message: '审批人不能为空', trigger: 'change'}]"
-            >
-              <UserSelect size="medium" :disabled="formReadOnly" :readonly="true" :limit='1' :value="inputForm.auditPeople" @getValue='(value) => {inputForm.auditPeople = value}'></UserSelect>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-divider content-position="left"><i class="el-icon-document"></i> 审核意见及回复</el-divider>
-        <el-row>
-        <el-col :span="24">
-          <el-form-item label="明细表" prop="detailOpinion"
-                        >
-<!--            <el-input type="textarea" style="width:100%" maxlength="1000" v-model="inputForm.detailOpinion" placeholder="请填写明细表"     ></el-input>-->
-            <WangEditor :disabled="true" ref="contents1Editor" v-model="inputForm.detailOpinion"/>
-          </el-form-item>
-        </el-col>
-        <el-col :span="24">
-          <el-form-item label="评估报告" prop="reportOpinion"
-          >
-<!--            <el-input type="textarea" style="width:100%" maxlength="1000" v-model="inputForm.reportOpinion" placeholder="请填写评估报告"     ></el-input>-->
-            <WangEditor :disabled="formReadOnly" ref="contents2Editor" v-model="inputForm.reportOpinion"/>
-          </el-form-item>
-        </el-col>
-        <el-col :span="24">
-          <el-form-item label="技术说明" prop="remarksOpinion"
-          >
-<!--            <el-input type="textarea" style="width:100%" maxlength="1000" v-model="inputForm.remarksOpinion" placeholder="请填写技术说明"     ></el-input>-->
-            <WangEditor :disabled="formReadOnly" ref="contents3Editor" v-model="inputForm.remarksOpinion"/>
-          </el-form-item>
-        </el-col>
-        <el-col :span="24">
-          <el-form-item label="工作底稿" prop="workOpinion"
-          >
-<!--            <el-input type="textarea" style="width:100%" maxlength="1000" v-model="inputForm.workOpinion" placeholder="请填写工作底稿"     ></el-input>-->
-            <WangEditor :disabled="formReadOnly" ref="contents4Editor" v-model="inputForm.workOpinion"/>
-          </el-form-item>
-        </el-col>
-          <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"
-                   label-width="125px" @submit.native.prevent>
-          <el-col :span="24">
-            <el-form-item label="执行人员保留意见" prop="retainOpinion"
-                          :rules="[
+                  :url="`/sys/user/treeUserDataAllOffice?type=2`"
+                  :value="inputForm.programProjectListInfo.projectManager"
+                  :disabled="true"
+                  :clearable="true"
+                  :accordion="true"
+                  @getValue="(value) => {inputForm.programProjectListInfo.projectManager=value}"/>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="选择项目审核人" prop="auditPeople"
+                            :rules="[{required: true, message: '审批人不能为空', trigger: 'blur'},{required: true, message: '审批人不能为空', trigger: 'change'}]"
+              >
+                <UserSelect size="medium" :disabled="formReadOnly" :readonly="true" :limit='1' :value="inputForm.auditPeople" @getValue='(value) => {inputForm.auditPeople = value}'></UserSelect>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-divider content-position="left"><i class="el-icon-document"></i> 审核意见及回复</el-divider>
+          <el-row>
+            <el-col :span="24">
+              <el-form-item label="明细表" prop="detailOpinion"
+              >
+                <!--            <el-input type="textarea" style="width:100%" maxlength="1000" v-model="inputForm.detailOpinion" placeholder="请填写明细表"     ></el-input>-->
+                <WangEditor :disabled="true" ref="contents1Editor" v-model="inputForm.detailOpinion"/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="评估报告" prop="reportOpinion"
+              >
+                <!--            <el-input type="textarea" style="width:100%" maxlength="1000" v-model="inputForm.reportOpinion" placeholder="请填写评估报告"     ></el-input>-->
+                <WangEditor :disabled="formReadOnly" ref="contents2Editor" v-model="inputForm.reportOpinion"/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="技术说明" prop="remarksOpinion"
+              >
+                <!--            <el-input type="textarea" style="width:100%" maxlength="1000" v-model="inputForm.remarksOpinion" placeholder="请填写技术说明"     ></el-input>-->
+                <WangEditor :disabled="formReadOnly" ref="contents3Editor" v-model="inputForm.remarksOpinion"/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="工作底稿" prop="workOpinion"
+              >
+                <!--            <el-input type="textarea" style="width:100%" maxlength="1000" v-model="inputForm.workOpinion" placeholder="请填写工作底稿"     ></el-input>-->
+                <WangEditor :disabled="formReadOnly" ref="contents4Editor" v-model="inputForm.workOpinion"/>
+              </el-form-item>
+            </el-col>
+            <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"
+                     label-width="125px" @submit.native.prevent>
+              <el-col :span="24">
+                <el-form-item label="执行人员保留意见" prop="retainOpinion"
+                              :rules="[
                  ]">
-              <el-input type="textarea" maxlength="500" v-model="inputForm.retainOpinion" placeholder="请填写执行人员保留意见"     ></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="审核人员审核未修改意见" prop="changeOpinion"
-                          :rules="[
+                  <el-input type="textarea" maxlength="500" v-model="inputForm.retainOpinion" placeholder="请填写执行人员保留意见"     ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24">
+                <el-form-item label="审核人员审核未修改意见" prop="changeOpinion"
+                              :rules="[
                  ]">
-              <el-input type="textarea" maxlength="500" v-model="inputForm.changeOpinion" placeholder="请填写审核人员审核未修改意见"     ></el-input>
-            </el-form-item>
-          </el-col>
-          </el-form>
-      </el-row>
+                  <el-input type="textarea" maxlength="500" v-model="inputForm.changeOpinion" placeholder="请填写审核人员审核未修改意见"     ></el-input>
+                </el-form-item>
+              </el-col>
+            </el-form>
+          </el-row>
+          <!--        附件-->
+          <UpLoadComponent ref="uploadComponent"></UpLoadComponent>
+        </div>
+
+      </el-form>
 
-    </el-form>
-    <!--        附件-->
-    <UpLoadComponent ref="uploadComponent"></UpLoadComponent>
+    </div>
   </div>
 </template>
 
@@ -208,6 +218,9 @@
         this.keyWatch = keyWatch
       },
       init (method, id) {
+        if (method === 'formReadOnly') {
+          this.formReadOnly = true
+        }
         this.method = method
         this.inputForm = {
           id: '',
@@ -236,47 +249,53 @@
         this.$nextTick(() => {
           this.$refs.inputForm.resetFields()
           this.loading = true
-          this.$refs.contents1Editor.clear()
-          this.$refs.contents2Editor.clear()
-          this.$refs.contents3Editor.clear()
-          this.$refs.contents4Editor.clear()
           this.programProjectListInfoService.findByIdAudit(this.inputForm.id).then(({data}) => {
-            this.$refs.uploadComponent.clearUpload()
             this.inputForm = this.recover(this.inputForm, data)
             this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
-            if (this.commonJS.isNotEmpty(this.inputForm.detailOpinion)) {
-              this.$refs.contents1Editor.init(this.inputForm.detailOpinion)
-            }
-            if (this.commonJS.isNotEmpty(this.inputForm.reportOpinion)) {
-              this.$refs.contents2Editor.init(this.inputForm.reportOpinion)
-            }
-            if (this.commonJS.isNotEmpty(this.inputForm.remarksOpinion)) {
-              this.$refs.contents3Editor.init(this.inputForm.remarksOpinion)
-            }
-            if (this.commonJS.isNotEmpty(this.inputForm.workOpinion)) {
-              this.$refs.contents4Editor.init(this.inputForm.workOpinion)
-            }
-            // if (this.formReadOnly === true) {
-            //   method = 'view'
-            // }
-            if (this.commonJS.isEmpty(this.inputForm.workAttachmentDtoList)) {
-              this.inputForm.workAttachmentDtoList = []
-            }
-            if (this.commonJS.isNotEmpty(this.inputForm.programAuditAssessPeopleDtoList)) {
-              let p = ''
-              this.inputForm.programAuditAssessPeopleDtoList.forEach((item, index) => {
-                if (this.inputForm.programAuditAssessPeopleDtoList.length === parseInt(parseInt(index) + parseInt(1))) {
-                  p = p + item.assessPeople
+            if (this.formReadOnly === true & this.inputForm.status === '0' || this.commonJS.isEmpty(this.inputForm.status)) {
+              this.loading = false
+            } else {
+              this.$nextTick(() => {
+                this.$refs.contents1Editor.clear()
+                this.$refs.contents2Editor.clear()
+                this.$refs.contents3Editor.clear()
+                this.$refs.contents4Editor.clear()
+                this.$refs.uploadComponent.clearUpload()
+                if (this.commonJS.isNotEmpty(this.inputForm.detailOpinion)) {
+                  this.$refs.contents1Editor.init(this.inputForm.detailOpinion)
+                }
+                if (this.commonJS.isNotEmpty(this.inputForm.reportOpinion)) {
+                  this.$refs.contents2Editor.init(this.inputForm.reportOpinion)
+                }
+                if (this.commonJS.isNotEmpty(this.inputForm.remarksOpinion)) {
+                  this.$refs.contents3Editor.init(this.inputForm.remarksOpinion)
+                }
+                if (this.commonJS.isNotEmpty(this.inputForm.workOpinion)) {
+                  this.$refs.contents4Editor.init(this.inputForm.workOpinion)
+                }
+                // if (this.formReadOnly === true) {
+                //   method = 'view'
+                // }
+                if (this.commonJS.isEmpty(this.inputForm.workAttachmentDtoList)) {
+                  this.inputForm.workAttachmentDtoList = []
+                }
+                if (this.commonJS.isNotEmpty(this.inputForm.programAuditAssessPeopleDtoList)) {
+                  let p = ''
+                  this.inputForm.programAuditAssessPeopleDtoList.forEach((item, index) => {
+                    if (this.inputForm.programAuditAssessPeopleDtoList.length === parseInt(parseInt(index) + parseInt(1))) {
+                      p = p + item.assessPeople
+                    } else {
+                      p = p + item.assessPeople + ','
+                    }
+                  })
+                  this.inputForm.auditPeopleList = p
                 } else {
-                  p = p + item.assessPeople + ','
+                  this.inputForm.auditPeopleList = ''
                 }
+                this.$refs.uploadComponent.newUpload(method, this.inputForm.workAttachmentDtoList, 'program_audit_first')
+                this.loading = false
               })
-              this.inputForm.auditPeopleList = p
-            } else {
-              this.inputForm.auditPeopleList = ''
             }
-            this.$refs.uploadComponent.newUpload(method, this.inputForm.workAttachmentDtoList, 'program_audit_first')
-            this.loading = false
           })
         })
       },