Pārlūkot izejas kodu

报装增加步骤

xiangyiyong 9 mēneši atpakaļ
vecāks
revīzija
a536148c64

+ 205 - 0
npminstall-debug.log

@@ -0,0 +1,205 @@
+{
+  root: 'F:\\developCode\\dcWaterService',
+  registry: 'https://registry.npmmirror.com',
+  pkgs: [
+    {
+      name: 'node-sass',
+      version: '4.14.1',
+      type: 'version',
+      alias: undefined,
+      arg: [Result]
+    }
+  ],
+  production: false,
+  cacheStrict: false,
+  cacheDir: 'C:\\Users\\Administrator\\.npminstall_tarball',
+  env: {
+    npm_config_registry: 'https://registry.npmmirror.com',
+    npm_config_argv: '{"remain":[],"cooked":["--fix-bug-versions","--china","--userconfig=C:\\\\Users\\\\Administrator\\\\.cnpmrc","--disturl=https://cdn.npmmirror.com/binaries/node","--registry=https://registry.npmmirror.com","node-sass@4.14.1"],"original":["--fix-bug-versions","--china","--userconfig=C:\\\\Users\\\\Administrator\\\\.cnpmrc","--disturl=https://cdn.npmmirror.com/binaries/node","--registry=https://registry.npmmirror.com","node-sass@4.14.1"]}',
+    npm_config_user_agent: 'npminstall/7.9.0 npm/? node/v14.21.3 win32 x64',
+    npm_config_cache: 'C:\\Users\\Administrator\\.npminstall_tarball',
+    NODE: 'F:\\dev\\nodejs\\node.exe',
+    npm_node_execpath: 'F:\\dev\\nodejs\\node.exe',
+    npm_execpath: 'F:\\dev\\npmRepoistory\\npm\\node_modules\\cnpm\\node_modules\\npminstall\\bin\\install.js',
+    npm_config_userconfig: 'C:\\Users\\Administrator\\.cnpmrc',
+    npm_config_disturl: 'https://cdn.npmmirror.com/binaries/node',
+    npm_config_r: 'https://registry.npmmirror.com',
+    COREPACK_NPM_REGISTRY: 'https://registry.npmmirror.com',
+    EDGEDRIVER_CDNURL: 'https://npmmirror.com/mirrors/edgedriver',
+    NODEJS_ORG_MIRROR: 'https://cdn.npmmirror.com/binaries/node',
+    NVM_NODEJS_ORG_MIRROR: 'https://cdn.npmmirror.com/binaries/node',
+    PHANTOMJS_CDNURL: 'https://cdn.npmmirror.com/binaries/phantomjs',
+    CHROMEDRIVER_CDNURL: 'https://cdn.npmmirror.com/binaries/chromedriver',
+    OPERADRIVER_CDNURL: 'https://cdn.npmmirror.com/binaries/operadriver',
+    CYPRESS_DOWNLOAD_PATH_TEMPLATE: 'https://cdn.npmmirror.com/binaries/cypress/${version}/${platform}-${arch}/cypress.zip',
+    ELECTRON_MIRROR: 'https://cdn.npmmirror.com/binaries/electron/',
+    ELECTRON_BUILDER_BINARIES_MIRROR: 'https://cdn.npmmirror.com/binaries/electron-builder-binaries/',
+    SASS_BINARY_SITE: 'https://cdn.npmmirror.com/binaries/node-sass',
+    SWC_BINARY_SITE: 'https://cdn.npmmirror.com/binaries/node-swc',
+    NWJS_URLBASE: 'https://cdn.npmmirror.com/binaries/nwjs/v',
+    PUPPETEER_DOWNLOAD_HOST: 'https://cdn.npmmirror.com/binaries/chrome-for-testing',
+    PUPPETEER_DOWNLOAD_BASE_URL: 'https://cdn.npmmirror.com/binaries/chrome-for-testing',
+    PLAYWRIGHT_DOWNLOAD_HOST: 'https://cdn.npmmirror.com/binaries/playwright',
+    SENTRYCLI_CDNURL: 'https://cdn.npmmirror.com/binaries/sentry-cli',
+    SAUCECTL_INSTALL_BINARY_MIRROR: 'https://cdn.npmmirror.com/binaries/saucectl',
+    RE2_DOWNLOAD_MIRROR: 'https://cdn.npmmirror.com/binaries/node-re2',
+    RE2_DOWNLOAD_SKIP_PATH: 'true',
+    PRISMA_ENGINES_MIRROR: 'https://cdn.npmmirror.com/binaries/prisma',
+    npm_config_better_sqlite3_binary_host: 'https://cdn.npmmirror.com/binaries/better-sqlite3',
+    npm_config_keytar_binary_host: 'https://cdn.npmmirror.com/binaries/keytar',
+    npm_config_sharp_binary_host: 'https://cdn.npmmirror.com/binaries/sharp',
+    npm_config_sharp_libvips_binary_host: 'https://cdn.npmmirror.com/binaries/sharp-libvips',
+    npm_config_robotjs_binary_host: 'https://cdn.npmmirror.com/binaries/robotjs',
+    npm_rootpath: 'F:\\developCode\\dcWaterService',
+    INIT_CWD: 'F:\\developCode\\dcWaterService'
+  },
+  binaryMirrors: {
+    ENVS: {
+      COREPACK_NPM_REGISTRY: 'https://registry.npmmirror.com',
+      EDGEDRIVER_CDNURL: 'https://npmmirror.com/mirrors/edgedriver',
+      NODEJS_ORG_MIRROR: 'https://cdn.npmmirror.com/binaries/node',
+      NVM_NODEJS_ORG_MIRROR: 'https://cdn.npmmirror.com/binaries/node',
+      PHANTOMJS_CDNURL: 'https://cdn.npmmirror.com/binaries/phantomjs',
+      CHROMEDRIVER_CDNURL: 'https://cdn.npmmirror.com/binaries/chromedriver',
+      OPERADRIVER_CDNURL: 'https://cdn.npmmirror.com/binaries/operadriver',
+      CYPRESS_DOWNLOAD_PATH_TEMPLATE: 'https://cdn.npmmirror.com/binaries/cypress/${version}/${platform}-${arch}/cypress.zip',
+      ELECTRON_MIRROR: 'https://cdn.npmmirror.com/binaries/electron/',
+      ELECTRON_BUILDER_BINARIES_MIRROR: 'https://cdn.npmmirror.com/binaries/electron-builder-binaries/',
+      SASS_BINARY_SITE: 'https://cdn.npmmirror.com/binaries/node-sass',
+      SWC_BINARY_SITE: 'https://cdn.npmmirror.com/binaries/node-swc',
+      NWJS_URLBASE: 'https://cdn.npmmirror.com/binaries/nwjs/v',
+      PUPPETEER_DOWNLOAD_HOST: 'https://cdn.npmmirror.com/binaries/chrome-for-testing',
+      PUPPETEER_DOWNLOAD_BASE_URL: 'https://cdn.npmmirror.com/binaries/chrome-for-testing',
+      PLAYWRIGHT_DOWNLOAD_HOST: 'https://cdn.npmmirror.com/binaries/playwright',
+      SENTRYCLI_CDNURL: 'https://cdn.npmmirror.com/binaries/sentry-cli',
+      SAUCECTL_INSTALL_BINARY_MIRROR: 'https://cdn.npmmirror.com/binaries/saucectl',
+      RE2_DOWNLOAD_MIRROR: 'https://cdn.npmmirror.com/binaries/node-re2',
+      RE2_DOWNLOAD_SKIP_PATH: 'true',
+      PRISMA_ENGINES_MIRROR: 'https://cdn.npmmirror.com/binaries/prisma',
+      npm_config_better_sqlite3_binary_host: 'https://cdn.npmmirror.com/binaries/better-sqlite3',
+      npm_config_keytar_binary_host: 'https://cdn.npmmirror.com/binaries/keytar',
+      npm_config_sharp_binary_host: 'https://cdn.npmmirror.com/binaries/sharp',
+      npm_config_sharp_libvips_binary_host: 'https://cdn.npmmirror.com/binaries/sharp-libvips',
+      npm_config_robotjs_binary_host: 'https://cdn.npmmirror.com/binaries/robotjs'
+    },
+    '@ali/s2': { host: 'https://cdn.npmmirror.com/binaries/looksgood-s2' },
+    sharp: { replaceHostFiles: [Array], replaceHostMap: [Object] },
+    '@tensorflow/tfjs-node': {
+      replaceHostFiles: [Array],
+      replaceHostRegExpMap: [Object],
+      replaceHostMap: [Object]
+    },
+    cypress: {
+      host: 'https://cdn.npmmirror.com/binaries/cypress',
+      newPlatforms: [Object]
+    },
+    'utf-8-validate': {
+      host: 'https://cdn.npmmirror.com/binaries/utf-8-validate/v{version}'
+    },
+    xprofiler: {
+      remote_path: './xprofiler/v{version}/',
+      host: 'https://cdn.npmmirror.com/binaries'
+    },
+    leveldown: { host: 'https://cdn.npmmirror.com/binaries/leveldown/v{version}' },
+    couchbase: { host: 'https://cdn.npmmirror.com/binaries/couchbase/v{version}' },
+    gl: { host: 'https://cdn.npmmirror.com/binaries/gl/v{version}' },
+    sqlite3: {
+      host: 'https://cdn.npmmirror.com/binaries/sqlite3',
+      remote_path: 'v{version}'
+    },
+    '@journeyapps/sqlcipher': { host: 'https://cdn.npmmirror.com/binaries' },
+    grpc: {
+      host: 'https://cdn.npmmirror.com/binaries',
+      remote_path: '{name}/v{version}'
+    },
+    'grpc-tools': { host: 'https://cdn.npmmirror.com/binaries' },
+    wrtc: {
+      host: 'https://cdn.npmmirror.com/binaries',
+      remote_path: '{name}/v{version}'
+    },
+    fsevents: { host: 'https://cdn.npmmirror.com/binaries/fsevents' },
+    nodejieba: { host: 'https://cdn.npmmirror.com/binaries/nodejieba' },
+    canvas: { host: 'https://cdn.npmmirror.com/binaries/canvas' },
+    'skia-canvas': { host: 'https://cdn.npmmirror.com/binaries/skia-canvas' },
+    'flow-bin': {
+      replaceHost: 'https://github.com/facebook/flow/releases/download/v',
+      host: 'https://cdn.npmmirror.com/binaries/flow/v'
+    },
+    'jpegtran-bin': {
+      replaceHost: [Array],
+      host: 'https://cdn.npmmirror.com/binaries/jpegtran-bin'
+    },
+    'cwebp-bin': {
+      replaceHost: [Array],
+      host: 'https://cdn.npmmirror.com/binaries/cwebp-bin'
+    },
+    'zopflipng-bin': {
+      replaceHost: [Array],
+      host: 'https://cdn.npmmirror.com/binaries/zopflipng-bin'
+    },
+    'optipng-bin': {
+      replaceHost: [Array],
+      host: 'https://cdn.npmmirror.com/binaries/optipng-bin'
+    },
+    mozjpeg: {
+      replaceHost: [Array],
+      host: 'https://cdn.npmmirror.com/binaries/mozjpeg-bin'
+    },
+    gifsicle: {
+      replaceHost: [Array],
+      host: 'https://cdn.npmmirror.com/binaries/gifsicle-bin'
+    },
+    'pngquant-bin': {
+      replaceHost: [Array],
+      host: 'https://cdn.npmmirror.com/binaries/pngquant-bin',
+      replaceHostMap: [Object]
+    },
+    'pngcrush-bin': {
+      replaceHost: [Array],
+      host: 'https://cdn.npmmirror.com/binaries/pngcrush-bin'
+    },
+    'jpeg-recompress-bin': {
+      replaceHost: [Array],
+      host: 'https://cdn.npmmirror.com/binaries/jpeg-recompress-bin'
+    },
+    'advpng-bin': {
+      replaceHost: [Array],
+      host: 'https://cdn.npmmirror.com/binaries/advpng-bin'
+    },
+    'pngout-bin': {
+      replaceHost: [Array],
+      host: 'https://cdn.npmmirror.com/binaries/pngout-bin'
+    },
+    'jpegoptim-bin': {
+      replaceHost: [Array],
+      host: 'https://cdn.npmmirror.com/binaries/jpegoptim-bin'
+    },
+    argon2: { host: 'https://cdn.npmmirror.com/binaries/argon2' },
+    'ali-zeromq': { host: 'https://cdn.npmmirror.com/binaries/ali-zeromq' },
+    'ali-usb_ctl': { host: 'https://cdn.npmmirror.com/binaries/ali-usb_ctl' },
+    'gdal-async': { host: 'https://cdn.npmmirror.com/binaries/node-gdal-async' },
+    'libpg-query': { host: 'https://cdn.npmmirror.com/binaries' }
+  },
+  forbiddenLicenses: null,
+  flatten: false,
+  proxy: undefined,
+  prune: false,
+  disableFallbackStore: false,
+  workspacesMap: Map(0) {},
+  enableWorkspace: false,
+  workspaceRoot: 'F:\\developCode\\dcWaterService',
+  isWorkspaceRoot: true,
+  isWorkspacePackage: false,
+  offline: false,
+  strictSSL: true,
+  ignoreScripts: false,
+  foregroundScripts: false,
+  ignoreOptionalDependencies: false,
+  detail: false,
+  forceLinkLatest: false,
+  trace: false,
+  engineStrict: false,
+  registryOnly: false,
+  client: false,
+  autoFixVersion: [Function: autoFixVersion]
+}

+ 1 - 0
package.json

@@ -47,6 +47,7 @@
     "proj4": "^2.7.5",
     "q": "^1.5.1",
     "qs": "^6.10.2",
+    "sass-loader": "^7.3.1",
     "sha1-hex": "^1.0.0",
     "video.js": "^8.12.0",
     "videojs-flvjs-es6": "^1.0.1",

+ 1 - 0
src/router/_import.js

@@ -172,6 +172,7 @@ const map = {
   machineAccount: () => import('@/views/dcSystem/installationProcess/process/machineAccount/index'), // 包装台账
 
   apply: () => import('@/views/dcSystem/installationProcess/process/apply/index'), // 报装申请1
+  deptmentAudit: () => import('@/views/dcSystem/installationProcess/process/deptmentAudit/index'), // 安装负责人意见2
   headViews: () => import('@/views/dcSystem/installationProcess/process/headViews/index'), // 安装负责人意见2
   directorInstructions: () => import('@/views/dcSystem/installationProcess/process/directorInstructions/index'), // 分管经理批示3
   managerInstructions: () => import('@/views/dcSystem/installationProcess/process/managerInstructions/index'), // 经理批示4

+ 4 - 4
src/views/dcSystem/installationProcess/process/acceptanceInspection/formDialog.vue

@@ -282,7 +282,7 @@ export default {
     if (this.isLook) {
       // 处理
       this.disabled = true
-      if (this.active > 7) {
+      if (this.active > 8) {
         this.getData()
         this.disabled = false
       }
@@ -290,7 +290,7 @@ export default {
       this.disabled = false
       this.getData()
     }
-    this.approvalStatus = this.checkData[7].approvalStatus
+    this.approvalStatus = this.checkData[8].approvalStatus
   },
   // 生命周期 - 挂载完成(访问DOM元素)
   mounted() {
@@ -393,7 +393,7 @@ export default {
       }
       _this.$refs.form.validate((valid) => {
         if (valid) {
-          const checkData = _this.checkData[7]
+          const checkData = _this.checkData[8]
           const data = {
             formData: [
               {
@@ -472,7 +472,7 @@ export default {
     async approval(reason) {
       const _this = this
 
-      const checkData = _this.checkData[7]
+      const checkData = _this.checkData[8]
 
       if (_this.approvalPersonOptions.length > 1 && _this.checkData[_this.active + 1]) {
       // 动态改变节点审批人

+ 6 - 6
src/views/dcSystem/installationProcess/process/accountWorkOrder/formDialog.vue

@@ -335,7 +335,7 @@ export default {
   },
   // 生命周期 - 创建完成(访问当前this实例)
   async created() {
-    this.approvalStatus = this.checkData[9].approvalStatus
+    this.approvalStatus = this.checkData[10].approvalStatus
     // 获取用户字典信息
     const waterType = await getCommonCode({ pCid: '66500' })
     this.optionData = waterType?.result[0]?.codeList || []
@@ -344,14 +344,14 @@ export default {
       this.disabled = true
 
       // 当是第10步的时候处理
-      if (this.active > 9) {
+      if (this.active > 10) {
         this.getData()
         this.disabled = false
       }
 
       // 获取历史数据
-      if (this.checkData[9]?.histroy) {
-        this.list = this.checkData[9].histroy.filter(e => {
+      if (this.checkData[10]?.histroy) {
+        this.list = this.checkData[10].histroy.filter(e => {
           return (e.approvalStatus == 2 && e.nodeAlias == 'managerApproval')
         })
       }
@@ -418,7 +418,7 @@ export default {
       }
       _this.$refs.form.validate((valid) => {
         if (valid) {
-          const checkData = _this.checkData[9]
+          const checkData = _this.checkData[10]
           const data = {
             formData: [
               {
@@ -476,7 +476,7 @@ export default {
 
     async approval(reason) {
       const _this = this
-      const checkData = _this.checkData[9]
+      const checkData = _this.checkData[10]
 
       if (_this.approvalPersonOptions.length > 1 && _this.checkData[_this.active + 1]) {
       // 动态改变节点审批人

+ 12 - 12
src/views/dcSystem/installationProcess/process/accountWorkOrderAudit/formDialog.vue

@@ -141,20 +141,20 @@ export default {
   },
 
   created() {
-    this.approvalStatus = this.checkData[10].approvalStatus
+    this.approvalStatus = this.checkData[11].approvalStatus
     if (this.isLook) {
       // 处理
-      this.active > 10 ? this.disabled = false : this.disabled = true
-      if (this.checkData[10]?.histroy) {
+      this.active > 11 ? this.disabled = false : this.disabled = true
+      if (this.checkData[11]?.histroy) {
         this.accountWorkOrderAuditFrom = {
-          registerDate: this.checkData[10].approvalTime ? this.checkData[10].approvalTime.slice(0, 10) : parseTime(
+          registerDate: this.checkData[11].approvalTime ? this.checkData[11].approvalTime.slice(0, 10) : parseTime(
             new Date(),
             '{y}-{m}-{d} {h}:{i}:{s}'
           ),
           registerUser: sessionStorage.getItem('realName'),
-          approvalSuggest: this.checkData[10].approvalSuggest
+          approvalSuggest: this.checkData[11].approvalSuggest
         }
-        this.list = this.checkData[10].histroy.filter(e => {
+        this.list = this.checkData[11].histroy.filter(e => {
           return (e.approvalStatus == 2 && e.nodeAlias == 'workOrderAudit')
         })
       }
@@ -162,12 +162,12 @@ export default {
       // 查看
       this.disabled = false
       this.accountWorkOrderAuditFrom = {
-        registerDate: this.checkData[10].approvalTime ? this.checkData[10].approvalTime.slice(0, 10) : '',
-        registerUser: this.checkData[10].approvalPersonName,
-        approvalSuggest: this.checkData[10].approvalSuggest
+        registerDate: this.checkData[11].approvalTime ? this.checkData[11].approvalTime.slice(0, 10) : '',
+        registerUser: this.checkData[11].approvalPersonName,
+        approvalSuggest: this.checkData[11].approvalSuggest
       }
-      if (this.checkData[10].histroy) {
-        this.list = this.checkData[10].histroy.filter(e => {
+      if (this.checkData[11].histroy) {
+        this.list = this.checkData[11].histroy.filter(e => {
           return (e.approvalStatus == 2 && e.nodeAlias == 'workOrderAudit')
         })
       }
@@ -211,7 +211,7 @@ export default {
       const _this = this
       this.loading = true
       _this.$emit('remind', '2')
-      const checkData = this.checkData[10]
+      const checkData = this.checkData[11]
       if (_this.approvalPersonOptions.length > 1 && _this.checkData[_this.active + 1]) {
       // 动态改变节点审批人
         const params = [{

+ 6 - 6
src/views/dcSystem/installationProcess/process/construction/formDialog.vue

@@ -288,9 +288,9 @@ export default {
   },
   // 生命周期 - 创建完成(访问当前this实例)
   async created() {
-    this.approvalStatus = this.checkData[1].approvalStatus
-    if (this.checkData[1]?.histroy) {
-      this.list = this.checkData[1].histroy.filter(e => {
+    this.approvalStatus = this.checkData[7].approvalStatus
+    if (this.checkData[7]?.histroy) {
+      this.list = this.checkData[7].histroy.filter(e => {
         return (e.approvalStatus == 2 && e.nodeAlias == 'check')
       })
     }
@@ -298,7 +298,7 @@ export default {
       // 处理
       this.disabled = true
       this.getData()
-      if (this.active > 6) {
+      if (this.active > 7) {
         this.disabled = false
       }
     } else {
@@ -422,7 +422,7 @@ export default {
             this.sgnrList.push(this.form.sgnr)
             this.form.sgnr = ''
           }
-          const checkData = _this.checkData[6]
+          const checkData = _this.checkData[7]
           const data = {
             formData: [
               {
@@ -557,7 +557,7 @@ export default {
         })
       }
 
-      const checkData = _this.checkData[6]
+      const checkData = _this.checkData[7]
       const userInfo = this.$store.state.user
       const data = {
         approvalPersonId: userInfo.userId, //	审批人ID

+ 317 - 0
src/views/dcSystem/installationProcess/process/deptmentAudit/formDialog.vue

@@ -0,0 +1,317 @@
+<template class="deptmentAudit_formDialog">
+  <div>
+    <el-form
+      ref="deptmentAuditFrom"
+      style="overflow-y: auto;margin-top: 15px;"
+      :rules="rules"
+      :model="deptmentAuditFrom"
+      label-width="110px"
+      size="small"
+    >
+      <el-row v-if="disabled">
+        <el-col v-if="approvalPersonOptions.length" :span="8">
+          <el-form-item label="下一步审核人" prop="auditPersonId">
+            <el-select
+              v-model="deptmentAuditFrom.auditPersonId"
+              style="width: 100%"
+              clearable
+              placeholder="请选择审核人"
+              @change="changeAudit"
+            >
+              <el-option
+                v-for="item in approvalPersonOptions"
+                :key="item.approvalPersonId"
+                :label="item.approvalPersonName"
+                :value="item.approvalPersonId + ''"
+              />
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="处理人" prop="registerUser">
+            <el-input v-model="deptmentAuditFrom.registerUser" readonly placeholder="系统自动生成" disabled />
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="处理时间" prop="registerDate">
+            <el-input v-model="deptmentAuditFrom.registerDate" readonly placeholder="系统自动生成" disabled />
+          </el-form-item>
+        </el-col>
+        <el-col :span="24">
+          <el-form-item label="处理意见" prop="approvalSuggest">
+            <el-input v-model="deptmentAuditFrom.approvalSuggest" maxlength="200" rows="3" resize="none" show-word-limit type="textarea" placeholder="请输入备注信息" />
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row v-else>
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="处理人:">
+              {{ deptmentAuditFrom.registerUser }}
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="处理时间:">
+              {{ deptmentAuditFrom.registerDate }}
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="处理意见:">
+              {{ deptmentAuditFrom.approvalSuggest }}
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row v-if="Array.isArray(list) && list.length !== 0">
+          <tf-title>驳回记录</tf-title>
+          <tf-table
+            :table-data="list"
+            :column="column"
+            :pagination="false"
+            :for-id="true"
+            :border="true"
+            :tableheight="tableheight"
+            :multiple="false"
+          />
+        </el-row>
+      </el-row>
+    </el-form>
+    <!-- <div v-else style="height: 100px; line-height: 100px; text-align: center;font-size: 16px">
+      已跳过该节点的审批
+    </div> -->
+  </div>
+</template>
+
+<script>
+
+import { parseTime } from '@/utils/index'
+import { approvalInstance, addFormAssign, updateApplyState, changeApprovalPerson } from '@/api/dcApi/installationProcess/process.js'
+import { mixins } from '../mixin/index'
+export default {
+  mixins: [mixins],
+  props: {
+    data: {
+      type: Object,
+      required: true
+    },
+    isLook: {
+      type: Boolean,
+      required: true
+    },
+    active: {
+      type: Number,
+      required: true
+    },
+    processInstanceId: {
+      type: Number,
+      default: 0
+    },
+    // 实例流程信息
+    checkData: {
+      type: Array,
+      required: true
+    },
+    editFormId: {
+      type: Number,
+      required: true
+    }
+  },
+  data() {
+    return {
+      rules: {
+        // registerDate: [{ required: true, message: '请选择处理时间', trigger: 'blur' }],
+        // registerUser: [{ required: true, message: '请选择处理人', trigger: 'change' }],
+        approvalSuggest: [{ required: true, message: '请输入处理意见', trigger: 'blur' }]
+      },
+      deptmentAuditFrom: {
+        registerUser: sessionStorage.getItem('realName'),
+        registerDate: parseTime(
+          new Date(),
+          '{y}-{m}-{d} {h}:{i}:{s}'
+        ),
+        auditPersonId: '',
+        auditPersonName: '',
+        constructionCost: ''
+      },
+      disabled: false,
+      fileList: [],
+      optionData: [],
+      tableId: '',
+      loading: false,
+      tableheight: '166px',
+      list: [],
+      column: [
+        {
+          label: '驳回人员',
+          prop: 'approvalPersonName'
+        },
+        {
+          label: '驳回时间',
+          prop: 'approvalTime'
+        },
+        {
+          label: '驳回意见',
+          prop: 'approvalSuggest'
+        }
+
+      ],
+      approvalPersonOptions: []
+    }
+  },
+
+  created() {
+    this.approvalStatus = this.checkData[1].approvalStatus
+    if (this.isLook) {
+      // 处理
+      this.active > 1 ? this.disabled = false : this.disabled = true
+      if (this.checkData[1]?.histroy) {
+        this.deptmentAuditFrom = {
+          registerDate: this.checkData[1].approvalTime ? this.checkData[1].approvalTime.slice(0, 10) : parseTime(
+            new Date(),
+            '{y}-{m}-{d} {h}:{i}:{s}'
+          ),
+          registerUser: sessionStorage.getItem('realName'),
+          approvalSuggest: this.checkData[1].approvalSuggest
+        }
+        this.list = this.checkData[1].histroy.filter(e => {
+          return (e.approvalStatus == 2 && e.nodeAlias == 'workOrderAudit')
+        })
+      }
+    } else {
+      // 查看
+      this.disabled = false
+      this.deptmentAuditFrom = {
+        registerDate: this.checkData[1].approvalTime ? this.checkData[1].approvalTime.slice(0, 10) : '',
+        registerUser: this.checkData[1].approvalPersonName,
+        approvalSuggest: this.checkData[1].approvalSuggest
+      }
+      if (this.checkData[1].histroy) {
+        this.list = this.checkData[1].histroy.filter(e => {
+          return (e.approvalStatus == 2 && e.nodeAlias == 'workOrderAudit')
+        })
+      }
+    }
+  },
+  // 生命周期 - 挂载完成(访问DOM元素)
+  mounted() {
+    console.log('checkData', this.checkData, this.data)
+    this.tableId = this.data.id
+  },
+
+  methods: {
+
+    // 重置
+    resetFields() {
+      this.$refs.deptmentAuditFrom.resetFields()
+    },
+
+    // 提交
+    submitForm(val) {
+      console.log('this.fileList', this.fileList)
+      const _this = this
+      _this.$refs.deptmentAuditFrom.validate((valid) => {
+        if (valid) {
+          const checkData = _this.checkData[1]
+          debugger
+          const data = {
+            formData: [
+              {
+                formId: this.editFormId,
+                fieldName: 'auditPersonId', // 审核人员
+                fieldDataValue: _this.deptmentAuditFrom.auditPersonId
+              },
+              {
+                formId: this.editFormId,
+                fieldName: 'auditPersonName', // 审核人员
+                fieldDataValue: _this.deptmentAuditFrom.auditPersonName
+              }
+            ],
+            processId: checkData.processId || '',
+            processNodeAlias: checkData.nodeAlias || ''
+          }
+          addFormAssign(data).then((res) => {
+            console.log('res', res)
+            const flag = res.code == 1
+            if (flag) {
+              _this.newAddUser(val)
+            }
+          })
+          return true
+        } else {
+          return false
+        }
+      })
+    },
+    async  updateApplyStateF(data) {
+      try {
+        await updateApplyState(data)
+      } finally {
+        console.log(data)
+      }
+    },
+    // 新增提交
+    async newAddUser(val) {
+      const _this = this
+      this.loading = true
+      _this.$emit('remind', '2')
+      const checkData = this.checkData[1]
+      debugger
+      if (_this.approvalPersonOptions.length > 1 && _this.checkData[_this.active + 1]) {
+      // 动态改变节点审批人
+        const params = [{
+          'approvalPersonId': _this.deptmentAuditFrom.auditPersonId,
+          'approvalPersonName': _this.deptmentAuditFrom.auditPersonName,
+          // 'formId': _this.checkData[_this.active + 1].formTemplateId || 0,
+          'nodeAlias': _this.checkData[_this.active + 1].nodeAlias,
+          // 'nodeSortNum': _this.checkData[_this.active + 1].sortNum,
+          'processId': _this.checkData[_this.active + 1].processId
+          // 'processNodeName': _this.checkData[_this.active + 1].processNodeName
+        }]
+        await changeApprovalPerson(params).then((pRes) => {
+          if (pRes && pRes.code == 1) {
+            console.log('流程节点改变成功', pRes)
+          }
+        })
+      }
+
+      const userInfo = this.$store.state.user
+      const data = {
+        approvalPersonId: userInfo.userId, //	审批人ID
+        approvalPersonName: userInfo.realName, // 审批人姓名
+        // approvalPersonId: checkData.approvalPersonId, //	审批人ID
+        // approvalPersonName: checkData.approvalPersonName, // 审批人姓名
+        approvalStatus: val, // 1、审核通过 2回退 3拒绝
+        approvalSuggest: this.deptmentAuditFrom.approvalSuggest, // 审批意见
+        nodeAlias: checkData.nodeAlias, // 流程节点别名
+        processId: checkData.processId, // 流程实例ID
+        isMessagePush: 1,
+        buinessInfoId: this.tableId,
+        nodeSortNum: checkData.nodeSortNum,
+        constructionCost: this.deptmentAuditFrom.constructionCost,
+        auditPersonId: this.deptmentAuditFrom.auditPersonId,
+        auditPersonName: this.deptmentAuditFrom.auditPersonName
+      }
+      approvalInstance(data).then(res => {
+        this.loading = false
+        _this.$emit('remind', '0')
+        console.log(res)
+        if (res.code === 1) {
+          if (val == 2) {
+            const data = {
+              id: this.data.id,
+              applyStatus: 1
+            }
+            this.updateApplyStateF(data)
+          }
+          _this.$message.success('成功!')
+          _this.$emit('remind', '1')
+          _this.resetFields()
+        }
+      })
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+
+</style>
+

+ 431 - 0
src/views/dcSystem/installationProcess/process/deptmentAudit/index.vue

@@ -0,0 +1,431 @@
+<!-- 报装申请 1 -->
+<template>
+  <div id="deptmentAudit">
+    <div class="head">
+      <el-form :inline="true" class="demo-form-inline" size="small">
+        <el-form-item label="关键字">
+          <el-input v-model="keys" clearable placeholder="请输入编号、名称、地址" />
+        </el-form-item>
+        <el-form-item label="申请日期">
+          <el-date-picker
+            v-model="applyDate"
+            type="daterange"
+            format="yyyy年MM月dd日"
+            value-format="yyyy-MM-dd"
+            range-separator="-"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+          />
+        </el-form-item>
+        <el-form-item label="处理日期">
+          <el-date-picker
+            v-model="createDate"
+            type="daterange"
+            format="yyyy年MM月dd日"
+            value-format="yyyy-MM-dd"
+            range-separator="-"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+          />
+        </el-form-item>
+        <el-form-item label="业务状态:">
+          <el-select v-model="handleStatus" clearable filterable placeholder="请选择业务状态">
+            <el-option v-for="item in optionData" :key="item.id" :label="item.label" :value="item.id" />
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" size="small" icon="el-icon-search" @click="searchBtn">查询</el-button>
+        </el-form-item>
+
+      </el-form>
+    </div>
+    <div class="modal_box">
+      <div class="form">
+        <el-dialog v-if="dialogVisible" v-dialogDrag top="1vh" :title="dialogTitle" :visible.sync="dialogVisible" width="80%">
+          <div class="dialog_style" :style="{ height: mapHeight }">
+            <ProcessDetails v-if="dialogVisible" ref="processDetails" style="height:100%" :data="editData" :is-look="isLook" :map-height="mapHeightT" :process-instance-id="processInstanceId" :active-names="'deptmentAudit'" :destroy-on-close="true" @remind="remind" />
+          </div>
+          <span v-if="dialogTitle !== '详情'" slot="footer" class="dialog-footer">
+            <el-button size="small" style="margin-bottom:10px" :loading="loading" @click="dialogVisible = false">取 消</el-button>
+            <el-popover v-model="visible">
+              <p>确定驳回吗?</p>
+              <div style="text-align: right; margin: 0">
+                <el-button size="mini" type="text" @click="visible = false">取消</el-button>
+                <el-button type="primary" size="mini" @click="submitForm(2)">确定</el-button>
+              </div>
+              <el-button slot="reference" size="small" style="margin-bottom:10px" :loading="loading" type="warning">驳 回</el-button>
+            </el-popover>
+            <el-button size="small" style="margin-bottom:10px" :loading="loading" type="primary" @click="submitForm(1)">提 交</el-button>
+          </span>
+        </el-dialog>
+      </div>
+    </div>
+    <div class="main">
+      <tf-table
+        :loading="listLoading"
+        :table-data="list"
+        :column="column"
+        :pagination="true"
+        :pagesize="pagination.size"
+        :currentpage="pagination.current"
+        :for-id="true"
+        :tableheight="tableheight"
+        :border="true"
+        :multiple="false"
+        :total="total"
+        :isdelete="false"
+        :tag-namelist="tagNamelist"
+        @rowDblclick="rowDblclick"
+        @handleCurrentChange="handleCurrentChange"
+        @handleSizeChange="handleSizeChange"
+        @handleSelectionChange="handleSelectionChange"
+        @detail="detail"
+        @process="process"
+      />
+    </div>
+  </div>
+</template>
+
+<script>
+
+import { client } from '@/utils/index'
+import ProcessDetails from '../processDetails/index.vue'
+import { getApplyInstallList, deleteApplyInstall } from '@/api/dcApi/installationProcess/process.js'
+
+export default {
+  name: 'DeptmentAudit',
+  components: { ProcessDetails },
+  data() {
+    return {
+      keys: '',
+      applyDate: [],
+      createDate: [],
+      handleStatus: '',
+      optionData: [
+        {
+          id: 1,
+          label: '待处理'
+        },
+        {
+          id: 2,
+          label: '已处理'
+        }
+      ],
+      column: [
+
+        {
+          label: '报装编号',
+          prop: 'applyInstallNo',
+          width: 200
+        },
+        {
+          label: '用户名称',
+          prop: 'consumerName'
+        },
+        {
+          label: '业务类型',
+          prop: 'buinessTypeName'
+        },
+        {
+          label: '详细地址',
+          prop: 'consumerAddress'
+        },
+        {
+          label: '安装数量',
+          prop: 'installNum'
+        },
+        {
+          label: '申请人',
+          prop: 'applyUserName'
+        },
+        {
+          label: '联系电话',
+          prop: 'contactPhoneNo'
+        },
+        {
+          label: '申请日期',
+          prop: 'applyDate',
+          width: 120
+        },
+        {
+          label: '处理人',
+          prop: 'approvalPersonName'
+        },
+        {
+          label: '处理日期',
+          prop: 'approvalTime',
+          width: 160
+        },
+        {
+          label: '业务状态',
+          slotScoped: 'tags',
+          prop: 'status'
+        },
+        {
+          slotScoped: 'action',
+          label: '操作',
+          width: '120px',
+          acts: [
+            { emitWay: 'detail', color: '#0000FF', operation: '详情' },
+            { emitWay: 'process', color: '#0000FF', operation: '处理' }
+          ]
+        }
+
+      ],
+      list: [
+        {}
+      ],
+      total: 0,
+      editData: {},
+      selectedData: [],
+      multipleSelection: [],
+      pagination: { current: 1, size: 30, queryType: 2, queryNodeAlias: 'deptmentAudit', approvalPersonId: sessionStorage.getItem('userId') },
+      dialogTitle: '标题名称',
+      listLoading: true,
+      loading: false,
+      isLook: true,
+      dialogVisible: false,
+      tagNamelist: {
+        '1': '未处理',
+        '2': '已处理'
+      },
+
+      processInstanceId: 0, visible: false
+
+    }
+  },
+  computed: {
+    tableheight() {
+      return client().height - 64 - 43 - 40 - 55 + 'px'
+    },
+    mapHeight() {
+      return client().height - 134 - (client().height * 0.02) + 'px'
+    },
+    mapHeightT() {
+      return client().height - 134 - 193 - (client().height * 0.02) + 'px'
+    }
+
+  },
+  watch: {
+
+  },
+  created() {
+    this.fetchData(this.pagination)
+  },
+  methods: {
+
+    handleCurrentChange(currentPage) {
+      this.pagination.current = currentPage
+      this.fetchData(this.pagination)
+    },
+    handleSizeChange(pagesize) {
+      this.pagination.current = 1
+      this.pagination.size = pagesize
+      this.fetchData(this.pagination)
+    },
+    handleSelectionChange(value) {
+      this.multipleSelection = value
+    },
+    fetchData(data) {
+      this.listLoading = true
+      getApplyInstallList(data).then((res) => {
+        if (res.code === 1) {
+          this.total = res.result.total
+          this.list = res.result.records
+          this.list.map(e => {
+            e.applyDate = e.applyDate.split(' ')[0]
+            e.approvalTime ? e.approvalTime = e.approvalTime.slice(0, 10) : ''
+            if (e.approvalStatus == 0) {
+              e.status = 1
+            } else {
+              e.status = 2
+            }
+          })
+          // console.log(this.list)
+          this.listLoading = false
+        }
+      })
+    },
+    searchBtn() {
+      this.pagination.keys = this.keys
+      this.pagination.processStatus = this.handleStatus
+      if (Array.isArray(this.applyDate) && this.applyDate.length > 0) {
+        this.pagination.applyInstallTimeStart = this.applyDate[0]
+        this.pagination.applyInstallTimeEnd = this.applyDate[1]
+      } else {
+        delete this.pagination.applyInstallTimeStart
+        delete this.pagination.applyInstallTimeEnd
+      }
+      if (Array.isArray(this.createDate) && this.createDate.length > 0) {
+        this.pagination.processHandleTimeStart = this.createDate[0]
+        this.pagination.processHandleTimeEnd = this.createDate[1]
+      } else {
+        delete this.pagination.processHandleTimeStart
+        delete this.pagination.processHandleTimeEnd
+      }
+      this.pagination.current = 1
+      this.fetchData(this.pagination)
+    },
+    submitForm(val) {
+      if (val === 2) {
+        console.log(this.$refs.processDetails)
+        this.$refs.processDetails.$refs.deptmentAudit.submitForm(val)
+        return
+      }
+      this.$confirm('是否确定' + (val === 2 ? '驳回' : '提交') + '数据?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        console.log(this.$refs.processDetails)
+        this.$refs.processDetails.$refs.deptmentAudit.submitForm(val)
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '已取消提交'
+        })
+      })
+    },
+    rowDblclick(row) {
+      console.log(row)
+    },
+
+    process(val) {
+      this.dialogTitle = '立户工单审核'
+      val.id ? this.editData = val : this.editData = this.multipleSelection[0]
+      val.id ? this.processInstanceId = val.processInstanceId : this.processInstanceId = this.multipleSelection[0].processInstanceId
+      this.isLook = true
+      this.dialogVisible = true
+    },
+    detail(val) {
+      this.dialogTitle = '详情'
+      val.id ? this.editData = val : this.editData = this.multipleSelection[0]
+      val.id ? this.processInstanceId = val.processInstanceId : this.processInstanceId = this.multipleSelection[0].processInstanceId
+      this.isLook = false
+      this.dialogVisible = true
+    },
+    del() {
+      this.$confirm('此操作将永久删除该信息, 是否继续?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        const that = this
+        const ids = []
+        for (let i = 0; i < that.multipleSelection.length; i++) {
+          ids.push(this.multipleSelection[i].id)
+        }
+        const data = {
+          ids: ids.toString()
+        }
+        deleteApplyInstall(data).then(res => {
+          if (res.code === 1) {
+            this.$message({
+              type: 'success',
+              message: '删除成功!'
+            })
+          }
+          this.searchBtn()
+        })
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '已取消删除'
+        })
+      })
+    },
+
+    remind(val) {
+      if (val == '1') {
+        this.dialogVisible = false
+        this.searchBtn()
+      } else if (val == '2') {
+        this.loading = true
+      } else {
+        this.loading = false
+      }
+    }
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+  #deptmentAudit {
+    margin: 20px;
+    .el-form-item {
+      margin-bottom: 15px;
+    }
+    .modal_box {
+      /deep/ .el-dialog__wrapper {
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        padding: 20px 0;
+        box-sizing: border-box;
+        .el-dialog {
+          margin-top: 0vh !important;
+          font-size: 12px;
+          .el-date-editor {
+            width: 100%;
+          }
+          .el-dialog__body {
+            padding: 10px 0px !important;
+          }
+          .el-dialog__header {
+            height: 40px;
+            padding: 7px 0;
+
+            .el-dialog__headerbtn {
+              position: absolute;
+              top: 0px;
+              right: 0px;
+              height: 40px;
+              padding: 7px 20px;
+            }
+            background-color: #2d74e7;
+            .el-dialog__title {
+              color: #dfeffe;
+            }
+            .el-icon-close:before {
+              color: #fff;
+            }
+          }
+          .el-input__inner {
+            height: 34px;
+          }
+          .el-form {
+            padding: 0 35px;
+            box-sizing: border-box;
+            .el-form-item {
+              margin-bottom: 14px;
+            }
+          }
+          .el-dialog__footer {
+            padding: 0 20px 5px !important;
+          }
+        }
+      }
+      .text-space {
+        /deep/.el-link--inner {
+          font-size: 12px;
+          max-width: 650px;
+          // 1.先强制一行内显示文本
+          white-space: nowrap;
+
+          // 2.超出部分隐藏
+          overflow: hidden;
+          // 3.文字用省略号替换超出的部分
+          text-overflow: ellipsis;
+        }
+      }
+    }
+    .dialog_style {
+      width: 100%;
+    /deep/ .el-table {
+      text-align: center;
+      vertical-align: middle;
+    }
+  }
+  }
+</style>

+ 15 - 15
src/views/dcSystem/installationProcess/process/directorInstructions/formDialog.vue

@@ -171,22 +171,22 @@ export default {
   },
 
   created() {
-    this.approvalStatus = this.checkData[2].approvalStatus
+    this.approvalStatus = this.checkData[3].approvalStatus
     if (this.isLook) {
       // 处理
-      this.active > 2 ? this.disabled = false : this.disabled = true
+      this.active > 3 ? this.disabled = false : this.disabled = true
 
-      if (this.checkData[2]?.histroy) {
+      if (this.checkData[3]?.histroy) {
         this.directorInstructionsForm = {
-          registerDate: this.checkData[2].approvalTime ? this.checkData[2].approvalTime.slice(0, 10) : parseTime(
+          registerDate: this.checkData[3].approvalTime ? this.checkData[3].approvalTime.slice(0, 10) : parseTime(
             new Date(),
             '{y}-{m}-{d} {h}:{i}:{s}'
           ),
           registerUser: sessionStorage.getItem('realName'),
-          approvalSuggest: this.checkData[2].approvalSuggest,
-          payments: this.checkData[2].payments || 1
+          approvalSuggest: this.checkData[3].approvalSuggest,
+          payments: this.checkData[3].payments || 1
         }
-        this.list = this.checkData[2].histroy.filter(e => {
+        this.list = this.checkData[3].histroy.filter(e => {
           return (e.approvalStatus == 2 && e.nodeAlias == 'managerApproval')
         })
       }
@@ -194,13 +194,13 @@ export default {
       // 查看
       this.disabled = false
       this.directorInstructionsForm = {
-        registerDate: this.checkData[2].approvalTime ? this.checkData[2].approvalTime.slice(0, 10) : '',
-        registerUser: this.checkData[2].approvalPersonName,
-        approvalSuggest: this.checkData[2].approvalSuggest,
-        payments: this.checkData[2].payments || 1
+        registerDate: this.checkData[3].approvalTime ? this.checkData[3].approvalTime.slice(0, 10) : '',
+        registerUser: this.checkData[3].approvalPersonName,
+        approvalSuggest: this.checkData[3].approvalSuggest,
+        payments: this.checkData[3].payments || 1
       }
-      if (this.checkData[2].histroy) {
-        this.list = this.checkData[2].histroy.filter(e => {
+      if (this.checkData[3].histroy) {
+        this.list = this.checkData[3].histroy.filter(e => {
           return (e.approvalStatus == 2 && e.nodeAlias == 'managerApproval')
         })
       }
@@ -245,7 +245,7 @@ export default {
       console.log('this.fileList', this.fileList)
       const _this = this
       const callback = (val) => {
-        const checkData = _this.checkData[2]
+        const checkData = _this.checkData[3]
         const data = {
           formData: [
             {
@@ -317,7 +317,7 @@ export default {
         })
       }
 
-      const checkData = this.checkData[2]
+      const checkData = this.checkData[3]
       const userInfo = this.$store.state.user
       const data = {
         approvalPersonId: userInfo.userId, //	审批人ID

+ 13 - 13
src/views/dcSystem/installationProcess/process/headViews/formDialog.vue

@@ -185,21 +185,21 @@ export default {
   },
 
   created() {
-    this.approvalStatus = this.checkData[1].approvalStatus
+    this.approvalStatus = this.checkData[2].approvalStatus
     if (this.isLook) {
       // 处理
-      this.active > 1 ? this.disabled = false : this.disabled = true
+      this.active > 2 ? this.disabled = false : this.disabled = true
 
-      if (this.checkData[1]?.histroy) {
+      if (this.checkData[2]?.histroy) {
         this.headViewsForm = {
-          registerDate: this.checkData[1].approvalTime ? this.checkData[1].approvalTime.slice(0, 10) : parseTime(
+          registerDate: this.checkData[2].approvalTime ? this.checkData[2].approvalTime.slice(0, 10) : parseTime(
             new Date(),
             '{y}-{m}-{d} {h}:{i}:{s}'
           ),
           registerUser: sessionStorage.getItem('realName'),
-          approvalSuggest: this.checkData[1].approvalSuggest
+          approvalSuggest: this.checkData[2].approvalSuggest
         }
-        this.list = this.checkData[1].histroy.filter(e => {
+        this.list = this.checkData[2].histroy.filter(e => {
           return (e.approvalStatus == 2 && e.nodeAlias == 'managerChargeApproval')
         })
       }
@@ -207,12 +207,12 @@ export default {
       // 查看
       this.disabled = false
       this.headViewsForm = {
-        registerDate: this.checkData[1].approvalTime ? this.checkData[1].approvalTime.slice(0, 10) : '',
-        registerUser: this.checkData[1].approvalPersonName,
-        approvalSuggest: this.checkData[1].approvalSuggest
+        registerDate: this.checkData[2].approvalTime ? this.checkData[2].approvalTime.slice(0, 10) : '',
+        registerUser: this.checkData[2].approvalPersonName,
+        approvalSuggest: this.checkData[2].approvalSuggest
       }
-      if (this.checkData[1].histroy) {
-        this.list = this.checkData[1].histroy.filter(e => {
+      if (this.checkData[2].histroy) {
+        this.list = this.checkData[2].histroy.filter(e => {
           return (e.approvalStatus == 2 && e.nodeAlias == 'managerChargeApproval')
         })
       }
@@ -256,7 +256,7 @@ export default {
     submitForm(val) {
       const _this = this
       const callback = (val) => {
-        const checkData = _this.checkData[1]
+        const checkData = _this.checkData[2]
         const data = {
           formData: [
             {
@@ -315,7 +315,7 @@ export default {
       const _this = this
       this.loading = true
       _this.$emit('remind', '2')
-      const checkData = this.checkData[1]
+      const checkData = this.checkData[2]
       if (_this.approvalPersonOptions.length > 1 && _this.checkData[_this.active + 1]) {
         // 动态改变节点审批人
         const params = [{

+ 15 - 15
src/views/dcSystem/installationProcess/process/managerInstructions/formDialog.vue

@@ -169,18 +169,18 @@ export default {
   created() {
     if (this.isLook) {
       // 处理
-      this.active > 3 ? this.disabled = false : this.disabled = true
-      if (this.checkData[3]?.histroy) {
+      this.active > 4 ? this.disabled = false : this.disabled = true
+      if (this.checkData[4]?.histroy) {
         this.managerInstructionsForm = {
-          registerDate: this.checkData[3].approvalTime ? this.checkData[3].approvalTime.slice(0, 10) : parseTime(
+          registerDate: this.checkData[4].approvalTime ? this.checkData[4].approvalTime.slice(0, 10) : parseTime(
             new Date(),
             '{y}-{m}-{d} {h}:{i}:{s}'
           ),
           registerUser: sessionStorage.getItem('realName'),
-          approvalSuggest: this.checkData[3].approvalSuggest,
-          payments: this.checkData[3].payments || 1
+          approvalSuggest: this.checkData[4].approvalSuggest,
+          payments: this.checkData[4].payments || 1
         }
-        this.list = this.checkData[3].histroy.filter(e => {
+        this.list = this.checkData[4].histroy.filter(e => {
           return (e.approvalStatus == 2 && e.nodeAlias == 'survey')
         })
       }
@@ -188,18 +188,18 @@ export default {
       // 查看
       this.disabled = false
       this.managerInstructionsForm = {
-        registerDate: this.checkData[3].approvalTime ? this.checkData[2].approvalTime.slice(0, 10) : '',
-        registerUser: this.checkData[3].approvalPersonName,
-        approvalSuggest: this.checkData[3].approvalSuggest,
-        payments: this.checkData[3].payments || 1
+        registerDate: this.checkData[4].approvalTime ? this.checkData[2].approvalTime.slice(0, 10) : '',
+        registerUser: this.checkData[4].approvalPersonName,
+        approvalSuggest: this.checkData[4].approvalSuggest,
+        payments: this.checkData[4].payments || 1
       }
-      if (this.checkData[3].histroy) {
-        this.list = this.checkData[3].histroy.filter(e => {
+      if (this.checkData[4].histroy) {
+        this.list = this.checkData[4].histroy.filter(e => {
           return (e.approvalStatus == 2 && e.nodeAlias == 'survey')
         })
       }
     }
-    this.approvalStatus = this.checkData[3].approvalStatus
+    this.approvalStatus = this.checkData[4].approvalStatus
     this.getData()
   },
   // 生命周期 - 挂载完成(访问DOM元素)
@@ -241,7 +241,7 @@ export default {
 
       _this.$refs.managerInstructionsForm.validate((valid) => {
         if (valid) {
-          const checkData = _this.checkData[3]
+          const checkData = _this.checkData[4]
           const data = {
             formData: [
               {
@@ -301,7 +301,7 @@ export default {
         })
       }
 
-      const checkData = this.checkData[3]
+      const checkData = this.checkData[4]
       const userInfo = this.$store.state.user
       const data = {
         approvalPersonId: userInfo.userId, //	审批人ID

+ 1 - 1
src/views/dcSystem/installationProcess/process/mixin/index.js

@@ -4,7 +4,7 @@ export const mixins = {
     return {
       activeIndex: 0,
       approvalPersonOptions: [],
-      formArray: ['form', 'headViewsForm', 'directorInstructionsForm', 'managerInstructionsForm', 'form', 'form', 'form', 'form', 'settlementAccountForm', 'form', 'accountWorkOrderAuditFrom'],
+      formArray: ['form', 'deptmentAuditFrom', 'headViewsForm', 'directorInstructionsForm', 'managerInstructionsForm', 'form', 'form', 'form', 'form', 'settlementAccountForm', 'form', 'accountWorkOrderAuditFrom'],
       rules: {
         auditPersonId: [
           { required: true, message: '请选择审核人', trigger: 'blur' }

+ 7 - 7
src/views/dcSystem/installationProcess/process/payment/formDialog.vue

@@ -309,9 +309,9 @@ export default {
   },
   // 生命周期 - 创建完成(访问当前this实例)
   async created() {
-    this.approvalStatus = this.checkData[5].approvalStatus
-    if (this.checkData[5]?.histroy) {
-      this.list = this.checkData[5].histroy.filter(e => {
+    this.approvalStatus = this.checkData[6].approvalStatus
+    if (this.checkData[6]?.histroy) {
+      this.list = this.checkData[6].histroy.filter(e => {
         return (e.approvalStatus == 2 && e.nodeAlias == 'construction')
       })
     }
@@ -319,7 +319,7 @@ export default {
     if (this.isLook) {
       // 处理
       this.disabled = true
-      if (this.active > 5) {
+      if (this.active > 6) {
         this.getData()
         this.disabled = false
       }
@@ -327,7 +327,7 @@ export default {
       this.disabled = false
       this.getData()
     }
-    if (this.active > 4) {
+    if (this.active > 6) {
       const yszj = await queryFormData(this.reconnoiterFormId)
       yszj.result.map(e => {
         if (e.fieldName == 'budgetPrice') {
@@ -428,7 +428,7 @@ export default {
       }
       _this.$refs.form.validate((valid) => {
         if (valid) {
-          const checkData = _this.checkData[5]
+          const checkData = _this.checkData[6]
           const data = {
             formData: [
               {
@@ -559,7 +559,7 @@ export default {
         })
       }
 
-      const checkData = _this.checkData[5]
+      const checkData = _this.checkData[6]
       const userInfo = this.$store.state.user
       const data = {
         approvalPersonId: userInfo.userId, //	审批人ID

+ 48 - 20
src/views/dcSystem/installationProcess/process/processDetails/index.vue

@@ -86,11 +86,34 @@
           v-if="active > 0"
           class="collapseBox"
           title=""
+          name="deptmentAudit"
+          style="display: flex; flex-direction: column"
+        >
+          <span slot="title">
+            <tf-title style="padding: 4px 0 4px 14px; margin: 0px 10px; ">科室负责人意见</tf-title>
+          </span>
+          <DeptmentAudit
+            v-if="headViewsFlag"
+            ref="deptmentAudit"
+            style="height:100%"
+            :data="data"
+            :check-data="checkData"
+            :process-instance-id="processInstanceId"
+            :active="active"
+            :is-look="isLook"
+            :edit-form-id="deptmentAuditFormId"
+            @remind="remind"
+          />
+        </el-collapse-item>
+        <el-collapse-item
+          v-if="active > 1"
+          class="collapseBox"
+          title=""
           name="headViews"
           style="display: flex; flex-direction: column"
         >
           <span slot="title">
-            <tf-title style="padding: 4px 0 4px 14px; margin: 0px 10px; ">安装负责人意见</tf-title>
+            <tf-title style="padding: 4px 0 4px 14px; margin: 0px 10px; ">部门负责人意见</tf-title>
           </span>
           <HeadViews
             v-if="headViewsFlag"
@@ -106,7 +129,7 @@
           />
         </el-collapse-item>
         <el-collapse-item
-          v-if="active > 1"
+          v-if="active > 2"
           class="collapseBox"
           title=""
           name="directorInstructions"
@@ -129,14 +152,14 @@
           />
         </el-collapse-item>
         <el-collapse-item
-          v-if="active > 2"
+          v-if="active > 3"
           class="collapseBox"
           title=""
           name="managerInstructions"
           style="display: flex; flex-direction: column"
         >
           <span slot="title">
-            <tf-title style="padding: 4px 0 4px 14px; margin: 0px 10px; ">经理批示</tf-title>
+            <tf-title style="padding: 4px 0 4px 14px; margin: 0px 10px; ">经理批示</tf-title>
           </span>
           <ManagerInstructions
             v-if="headViewsFlag"
@@ -152,7 +175,7 @@
           />
         </el-collapse-item>
         <el-collapse-item
-          v-if="active > 3"
+          v-if="active > 4"
           class="collapseBox"
           title=""
           name="reconnoiter"
@@ -176,7 +199,7 @@
           />
         </el-collapse-item>
         <el-collapse-item
-          v-if="active > 4"
+          v-if="active > 5"
           class="collapseBox"
           title=""
           name="payment"
@@ -201,7 +224,7 @@
           />
         </el-collapse-item>
         <el-collapse-item
-          v-if="active > 5"
+          v-if="active > 6"
           class="collapseBox"
           title=""
           name="construction"
@@ -225,7 +248,7 @@
           />
         </el-collapse-item>
         <el-collapse-item
-          v-if="active > 6"
+          v-if="active > 7"
           class="collapseBox"
           title=""
           name="acceptanceInspection"
@@ -249,7 +272,7 @@
           />
         </el-collapse-item>
         <el-collapse-item
-          v-if="active > 7"
+          v-if="active > 8"
           class="collapseBox"
           title=""
           name="settlementAccount"
@@ -272,7 +295,7 @@
           />
         </el-collapse-item>
         <el-collapse-item
-          v-if="active > 8"
+          v-if="active > 9"
           class="collapseBox"
           title=""
           name="accountWorkOrder"
@@ -296,7 +319,7 @@
           />
         </el-collapse-item>
         <el-collapse-item
-          v-if="active > 9"
+          v-if="active > 10"
           class="collapseBox"
           title=""
           name="accountWorkOrderAudit"
@@ -325,6 +348,7 @@
 
 <script>
 import Apply from '../apply/formDialog'
+import DeptmentAudit from '../deptmentAudit/formDialog'
 import HeadViews from '../headViews/formDialog'
 import DirectorInstructions from '../directorInstructions/formDialog'
 import ManagerInstructions from '../managerInstructions/formDialog'
@@ -342,6 +366,7 @@ import Bus from '@/utils/bus.js'
 export default {
   components: {
     Apply,
+    DeptmentAudit,
     HeadViews,
     DirectorInstructions,
     ManagerInstructions,
@@ -395,6 +420,7 @@ export default {
       constructionFormId: 0,
       acceptanceInspectionFormId: 0,
       accountWorkOrderFormId: 0,
+      deptmentAuditFormId: 0,
       settlementAccountFormId: 0,
       headViewsFormId: 0,
       directorInstructionsFormId: 0,
@@ -421,15 +447,17 @@ export default {
           e.histroy = histroy.result
         })
       }
-      this.headViewsFormId = this.checkData[1].formId
-      this.directorInstructionsFormId = this.checkData[2].formId
-      this.managerInstructionsFormId = this.checkData[3].formId
-      this.reconnoiterFormId = this.checkData[4].formId
-      this.paymentFormId = this.checkData[5].formId
-      this.constructionFormId = this.checkData[6].formId
-      this.acceptanceInspectionFormId = this.checkData[7].formId
-      this.settlementAccountFormId = this.checkData[8].formId
-      this.accountWorkOrderFormId = this.checkData[9].formId
+      debugger
+      this.deptmentAuditFormId = this.checkData[1].formId
+      this.headViewsFormId = this.checkData[2].formId
+      this.directorInstructionsFormId = this.checkData[3].formId
+      this.managerInstructionsFormId = this.checkData[4].formId
+      this.reconnoiterFormId = this.checkData[5].formId
+      this.paymentFormId = this.checkData[6].formId
+      this.constructionFormId = this.checkData[7].formId
+      this.acceptanceInspectionFormId = this.checkData[8].formId
+      this.settlementAccountFormId = this.checkData[9].formId
+      this.accountWorkOrderFormId = this.checkData[10].formId
       const dataP = JSON.parse(JSON.stringify(dataInfo))
       this.steps = dataP.map((e) => {
         return {

+ 31 - 13
src/views/dcSystem/installationProcess/process/processDetails/indexTabs.vue

@@ -124,7 +124,21 @@
             >台账信息</tf-title>
           </span>
           <el-tabs v-model="activeTabs" type="card">
-            <el-tab-pane label="安装负责人意见" name="headViews">
+            <el-tab-pane label="科室负责人意见" name="deptmentAudit">
+              <DeptmentAudit
+                v-if="headViewsFlag"
+                ref="headViews"
+                style="height: 100%"
+                :data="data"
+                :check-data="checkData"
+                :process-instance-id="processInstanceId"
+                :active="active"
+                :is-look="isLook"
+                :edit-form-id="deptmentAuditFormId"
+                @remind="remind"
+              />
+            </el-tab-pane>
+            <el-tab-pane label="部门负责人意见" name="headViews">
               <HeadViews
                 v-if="headViewsFlag"
                 ref="headViews"
@@ -152,7 +166,7 @@
                 @remind="remind"
               />
             </el-tab-pane>
-            <el-tab-pane label="经理批示" name="managerInstructions">
+            <el-tab-pane label="经理批示" name="managerInstructions">
               <ManagerInstructions
                 v-if="headViewsFlag"
                 ref="managerInstructions"
@@ -281,6 +295,7 @@
 
 <script>
 import Apply from '../apply/formDialog'
+import DeptmentAudit from '../deptmentAudit/formDialog'
 import HeadViews from '../headViews/formDialog'
 import DirectorInstructions from '../directorInstructions/formDialog'
 import ManagerInstructions from '../managerInstructions/formDialog'
@@ -304,6 +319,7 @@ export default {
   components: {
     Apply,
     HeadViews,
+    DeptmentAudit,
     DirectorInstructions,
     ManagerInstructions,
     Reconnoiter,
@@ -407,6 +423,7 @@ export default {
       settlementAccountFormId: 0,
       accountWorkOrderFormId: 0,
       accountWorkOrderAuditFormId: 0,
+      deptmentAuditFormId: 0,
       headViewsFormId: 0,
       directorInstructionsFormId: 0,
       managerInstructionsFormId: 0
@@ -517,17 +534,18 @@ export default {
       this.checkData.map((e) => {
         e.histroy = histroy.result
       })
-
-      this.headViewsFormId = this.checkData[1].formId
-      this.directorInstructionsFormId = this.checkData[2].formId
-      this.managerInstructionsFormId = this.checkData[3].formId
-      this.reconnoiterFormId = this.checkData[4].formId
-      this.paymentFormId = this.checkData[5].formId
-      this.constructionFormId = this.checkData[6].formId
-      this.acceptanceInspectionFormId = this.checkData[7].formId
-      this.settlementAccountFormId = this.checkData[8].formId || 0
-      this.accountWorkOrderFormId = this.checkData[9].formId
-      // this.accountWorkOrderAuditFormId = this.checkData[10].formId
+      debugger
+      this.deptmentAuditFormId = this.checkData[1].formId
+      this.headViewsFormId = this.checkData[2].formId
+      this.directorInstructionsFormId = this.checkData[3].formId
+      this.managerInstructionsFormId = this.checkData[4].formId
+      this.reconnoiterFormId = this.checkData[5].formId
+      this.paymentFormId = this.checkData[6].formId
+      this.constructionFormId = this.checkData[7].formId
+      this.acceptanceInspectionFormId = this.checkData[8].formId
+      this.settlementAccountFormId = this.checkData[9].formId || 0
+      this.accountWorkOrderFormId = this.checkData[10].formId
+      // this.accountWorkOrderAuditFormId = this.checkData[11].formId
       this.steps = this.processData.map((e) => {
         return {
           title: e.processNodeName,

+ 6 - 6
src/views/dcSystem/installationProcess/process/reconnoiter/formDialog.vue

@@ -466,16 +466,16 @@ export default {
     getDeptUserList({ deptId: '' }).then((res) => {
       this.deptUserTree = res.result
     })
-    this.approvalStatus = this.checkData[4].approvalStatus
-    if (this.checkData[4]?.histroy) {
-      this.list = this.checkData[4].histroy.filter(e => {
+    this.approvalStatus = this.checkData[5].approvalStatus
+    if (this.checkData[5]?.histroy) {
+      this.list = this.checkData[5].histroy.filter(e => {
         return (e.approvalStatus == 2 && e.nodeAlias == 'pay')
       })
     }
     if (this.isLook) {
       // 处理
       this.disabled = true
-      if (this.active > 4) {
+      if (this.active > 5) {
         this.getData()
         this.disabled = false
       } else {
@@ -668,7 +668,7 @@ export default {
       }
       _this.$refs.form.validate((valid) => {
         if (valid) {
-          const checkData = _this.checkData[4]
+          const checkData = _this.checkData[5]
           const data = {
             formData: [
               {
@@ -809,7 +809,7 @@ export default {
         })
       }
 
-      const checkData = _this.checkData[4]
+      const checkData = _this.checkData[5]
       const userInfo = this.$store.state.user
       this.loading = true
       _this.$emit('remind', '2')

+ 15 - 15
src/views/dcSystem/installationProcess/process/settlementAccount/formDialog.vue

@@ -275,24 +275,24 @@ export default {
   },
 
   created() {
-    this.approvalStatus = this.checkData[8].approvalStatus
-    if (this.isLook && this.active > 8 || !this.isLook) {
+    this.approvalStatus = this.checkData[9].approvalStatus
+    if (this.isLook && this.active > 9 || !this.isLook) {
       this.getData()
     }
     if (this.isLook) {
       // 处理
-      this.active > 8 ? this.disabled = false : this.disabled = true
+      this.active > 9 ? this.disabled = false : this.disabled = true
 
-      if (this.checkData[8]?.histroy) {
+      if (this.checkData[9]?.histroy) {
         this.settlementAccountForm = {
-          registerDate: this.checkData[8].approvalTime ? this.checkData[8].approvalTime.slice(0, 10) : parseTime(
+          registerDate: this.checkData[9].approvalTime ? this.checkData[9].approvalTime.slice(0, 10) : parseTime(
             new Date(),
             '{y}-{m}-{d} {h}:{i}:{s}'
           ),
-          registerUser: this.checkData[8].approvalPersonName || sessionStorage.getItem('realName'),
-          approvalSuggest: this.checkData[8].approvalSuggest
+          registerUser: this.checkData[9].approvalPersonName || sessionStorage.getItem('realName'),
+          approvalSuggest: this.checkData[9].approvalSuggest
         }
-        this.list = this.checkData[8].histroy.filter(e => {
+        this.list = this.checkData[9].histroy.filter(e => {
           return (e.approvalStatus == 2 && e.nodeAlias == 'managerApproval')
         })
       }
@@ -300,12 +300,12 @@ export default {
       // 查看
       this.disabled = false
       this.settlementAccountForm = {
-        registerDate: this.checkData[8].approvalTime ? this.checkData[8].approvalTime.slice(0, 10) : '',
-        registerUser: this.checkData[8].approvalPersonName,
-        approvalSuggest: this.checkData[8].approvalSuggest
+        registerDate: this.checkData[9].approvalTime ? this.checkData[9].approvalTime.slice(0, 10) : '',
+        registerUser: this.checkData[9].approvalPersonName,
+        approvalSuggest: this.checkData[9].approvalSuggest
       }
-      if (this.checkData[8].histroy) {
-        this.list = this.checkData[8].histroy.filter(e => {
+      if (this.checkData[9].histroy) {
+        this.list = this.checkData[9].histroy.filter(e => {
           return (e.approvalStatus == 2 && e.nodeAlias == 'managerApproval')
         })
       }
@@ -411,7 +411,7 @@ export default {
       console.log('this.fileList', this.fileList)
       _this.$refs.settlementAccountForm.validate((valid) => {
         if (valid) {
-          const checkData = this.checkData[8]
+          const checkData = this.checkData[9]
           // 计算维护费用
           const data = {
             formData: [
@@ -539,7 +539,7 @@ export default {
       }
 
       _this.$emit('remind', '2')
-      const checkData = this.checkData[8]
+      const checkData = this.checkData[9]
       const userInfo = this.$store.state.user
       const data = {
         approvalPersonId: userInfo.userId, //	审批人ID