sangwenwei 1 年間 前
コミット
0c349da67b

+ 8 - 0
src/api/jy/ProjectInfoService.js

@@ -60,5 +60,13 @@ export default class ProjectInfoService {
 		})
 	}
 
+	listByCreateId(param){
+		return request({
+			url: prefix + '/jyProject/getByCreate',
+			method: 'get',
+			params: param
+		})
+	}
+
 
 }

+ 39 - 0
src/api/jy/SignetService.js

@@ -0,0 +1,39 @@
+import request from "@/utils/httpRequest";
+import { BUSINESS_PATH as prefix } from "../AppPath";
+
+export default class SignetService {
+	findPageList(params) {
+		return request({
+			url: prefix + "/useSeal/findList",
+			method: "get",
+			params: params,
+		});
+	}
+	saveForm (inputForm) {
+		return request({
+			url: prefix + "/useSeal/saveForm",
+			method: 'post',
+			data: inputForm
+		})
+	}
+
+	queryById (id) {
+		return request({
+			url: prefix + '/useSeal/findById',
+			method: 'get',
+			params: {id: id}
+		})
+	}
+
+	updateStatusById (params) {
+		return request({
+			url: prefix + '/useSeal/updateStatusById',
+			method: 'post',
+			params: params
+		})
+	}
+
+
+
+
+}

+ 6 - 0
src/api/sys/dictService.js

@@ -93,4 +93,10 @@ export default {
 			method: "get",
 		});
 	},
+	getTypeData: function () {
+		return request({
+			url: prefix + "/sys/dict/type/getSealType",
+			method: "get",
+		});
+	},
 };

+ 3 - 2
src/views/flowable/task/TaskForm.vue

@@ -696,6 +696,7 @@ export default {
 		// Process_1694762268070 报告-修改签字注师
 		// Process_1695863980264 嘉溢-合同归档
 		// Process_1697006029203 嘉溢-项目登记
+		// Process_1697425720571 嘉溢-用印申请
 
 		// 驳回
 		reject(vars) {
@@ -736,8 +737,8 @@ export default {
 				this.procDefId.includes('Process_1683767097901') ||
 				this.procDefId.includes('Process_1694762268070') ||
 				this.procDefId.includes('Process_1695863980264') ||
-				this.procDefId.includes('Process_1697006029203')
-
+				this.procDefId.includes('Process_1697006029203') ||
+				this.procDefId.includes('Process_1697425720571')
 			) {
 				console.log('进入新版驳回')
 				this.$confirm(`确定驳回流程吗?`, '提示', {

+ 1 - 0
src/views/jy/project/ProjectDia.vue

@@ -593,6 +593,7 @@
 						this.inputForm.members=data.projectMembers
 						this.inputForm.clientList=data.clientList
 						this.inputForm.createByName=data.createById
+						this.inputForm.clientList=data.clientList
 						this.getLocation()
 						// this.inputForm.cwWorkClientContactDTOList=data.cwWorkClientContactDTOList
 						console.log('data', data)

+ 42 - 29
src/views/jy/project/ProjectForm.vue

@@ -16,11 +16,11 @@
 				</el-col>
 				<el-row  :gutter="15" v-show="inputForm.contractStatus === '1'">
 					<el-col :span="24" >
-						<el-divider content-position="left"><i class="el-icon-document"></i> 选择合同</el-divider>
+						<el-divider content-position="left"><i class="el-icon-document"></i>
+							<span style="color: red;border-top: 20px">*</span>选择合同
+						</el-divider>
 						<el-form-item label="选择合同" prop="contractName"
 									  :rules="[
-                          {required: true, message:'合同不能为空', trigger:'blur'},
-                          {required: true, message:'合同不能为空', trigger:'change'}
                  ]">
 							<el-input size="large" :readonly="true" @focus="openContractForm()" v-model="inputForm.contractName" placeholder="请选择合同">
 								<el-button slot="append" icon="el-icon-search" @click="openContractForm()"></el-button>
@@ -330,6 +330,7 @@
 		<UpLoadComponent ref="uploadComponent"></UpLoadComponent>
 		<ContractForm  ref="contractForm" @getContract="getContract"></ContractForm>
 		<ContactForm  ref="contactForm" @getContract="getContact"></ContactForm>
+		<WorkClientChooseRadio ref="workClientChooseRadio" @getWorkClientRadioChoose="getWorkClientChoose2"></WorkClientChooseRadio>
 
 	</div>
 </template>
@@ -342,6 +343,7 @@
 	import SelectUserTree from '@/views/utils/treeUserSelect'
 	import ProjectInfoService from "@/api/jy/ProjectInfoService";
 	import UpLoadComponent from '@/views/common/UpLoadComponent'
+	import WorkClientChooseRadio from '../workClientInfo/WorkClientChooseRadio'
 
 	export default {
 		props: {
@@ -457,6 +459,7 @@
 			SelectTree,
 			SelectUserTree,
 			UpLoadComponent,
+			WorkClientChooseRadio,
 		},
 		methods: {
 			getKeyWatch (keyWatch) {
@@ -516,6 +519,7 @@
 							this.inputForm.clientList=data.clientList
 							this.inputForm.createByName=data.createById
 							this.inputForm.createDate=data.createTime
+							this.inputForm.clientList=data.clientList
 							this.getLocation()
 							// this.inputForm.cwWorkClientContactDTOList=data.cwWorkClientContactDTOList
 							console.log('data', data)
@@ -612,7 +616,7 @@
 			//委托方联系人
 			openContactForm(){
 				if (this.commonJS.isEmpty(this.inputForm.clientList)) {
-					this.$refs.contractForm.init()
+					this.$refs.workClientChooseRadio.init()
 				}
 			},
 			//添加委托方联系人
@@ -720,37 +724,37 @@
 					})
 					return
 				} else if (status === 'startAndHold') {
+					if (this.commonJS.isEmpty(this.inputForm.clientList)) {
+						this.loading = false
+						this.$message.error('填写一条委托方联系人信息')
+						return
+					}
+					if (this.commonJS.isEmpty(this.inputForm.contractStatus)) {
+						this.loading = false
+						this.$message.error('请选择合同情况')
+						return
+					}
+					if (this.inputForm.contractStatus === '1' && this.commonJS.isEmpty(this.inputForm.contractName)) {
+						this.loading = false
+						this.$message.error('请选择合同')
+						return
+					}
+					if (this.commonJS.isEmpty(this.inputForm.projectPlace)) {
+						this.loading = false
+						this.$message.error('请选择项目所在地')
+						return
+					}
+					if (this.commonJS.isEmpty(this.inputForm.projectLeader)) {
+						this.loading = false
+						this.$message.error('请选择项目负责人')
+						return
+					}
 					// 送审  待审核
 					this.inputForm.status = '2'
 				} else if (status === 'agree') {
 					// 审核同意
 					this.inputForm.status = '5'
 				}
-				if (this.commonJS.isEmpty(this.inputForm.clientList)) {
-					this.loading = false
-					this.$message.error('填写一条委托方联系人信息')
-					return
-				}
-				if (this.commonJS.isEmpty(this.inputForm.contractStatus)) {
-					this.loading = false
-					this.$message.error('请选择合同情况')
-					return
-				}
-				if (this.inputForm.contractStatus === '1' && this.inputForm.contractName === '') {
-					this.loading = false
-					this.$message.error('请选择合同')
-					return
-				}
-				if (this.commonJS.isEmpty(this.inputForm.projectPlace)) {
-					this.loading = false
-					this.$message.error('请选择项目所在地')
-					return
-				}
-				if (this.commonJS.isEmpty(this.inputForm.projectLeader)) {
-					this.loading = false
-					this.$message.error('请选择项目负责人')
-					return
-				}
 				this.$refs['inputForm'].validate((valid) => {
 					if (valid) {
 						this.loading = true
@@ -760,6 +764,7 @@
 						}
 						console.log('this.inputForm', this.inputForm)
 						this.inputForm.files = this.$refs.uploadComponent.getDataList()
+						console.log('3',this.inputForm)
 						this.projectInfoService.saveForm(this.inputForm).then((data) => {
 							this.inputForm.id = data.businessId
 							callback(data.businessTable, data.businessId, this.inputForm)
@@ -864,6 +869,14 @@
 					setTimeout(() => { this.progressFlag = false }, 1000) // 一秒后关闭进度条
 				}
 			},
+			getWorkClientChoose2 (list) {
+				console.log('list',list)
+				this.inputForm.clientList.push({id: list.linkId, name: list.name,linkPhone:list.phone,linkMobile:list.mobile,position:list.position})
+				this.$refs.clientTable.insertAt({ name: list.name,linkPhone:list.phone,linkMobile:list.mobile,position:list.position})
+				this.clientTableKey = Math.random()
+
+				console.log('1231312',this.inputForm.clientList)
+			},
 		}
 	}
 </script>

+ 4 - 0
src/views/jy/workContractInfo/ContractAddForm.vue

@@ -551,6 +551,10 @@
 					this.inputForm.contractTypes=data.contractTypeList
 					if(data.contractType){
 						this.showType(data.contractType)
+					}else {
+						if (data.contractTypeFirst){
+							this.inputForm.contractTypes=data.contractTypeFirst
+						}
 					}
 					this.workClientService.findListByName(data.primaryLinkman).then((da)=>{
 						console.log('11',da)

+ 0 - 1
src/views/jy/workContractInfo/WorkContractForm.vue

@@ -1109,7 +1109,6 @@
 									this.contractService.updateStatusById(param).then(() => {
 										callback()
 										this.loading = false
-
 									})
 								}
 							}

+ 364 - 0
src/views/materialManagement/userSeal/ProjectForm.vue

@@ -0,0 +1,364 @@
+<template>
+  <div>
+    <el-dialog
+      :title="title"
+      :close-on-click-modal="false"
+	  draggable
+      width="1100px"
+      height="500px"
+      @close="close"
+      append-to-body
+      v-model="visible">
+      <div v-if="isShow">
+<!--        <el-radio v-model="checkType" label="1" style="margin-right: 20px">项目</el-radio>-->
+<!--        <el-radio v-model="checkType" label="2" style="margin-right: 20px">报告</el-radio>-->
+<!--	    <el-radio v-model="checkType" label="3" style="margin-right: 20px">其他</el-radio>-->
+      </div>
+		<!--报告        -->
+		<div v-if="checkType === '2'">
+			<el-form size="large" :inline="true" class="query-form" ref="searchForm" :model="searchForm"
+					 @submit.native.prevent>
+				<!-- 搜索框-->
+				<el-form-item label="项目名称" prop="projectName">
+					<el-input size="large" v-model="searchForm.projectName" placeholder="请输入项目名称" clearable></el-input>
+				</el-form-item>
+				<el-form-item label="报告号" prop="reportNo">
+					<el-input size="large" v-model="searchForm.reportNo" placeholder="请输入报告号" clearable></el-input>
+				</el-form-item>
+				<el-form-item label="报告创建时间" prop="createDates">
+					<el-date-picker
+						placement="bottom-start"
+						format="YYYY-MM-DD HH:mm:ss"
+						value-format="YYYY-MM-DD HH:mm:ss"
+						v-model="searchForm.createDates"
+						type="datetimerange"
+						range-separator="至"
+						start-placeholder="开始日期"
+						end-placeholder="结束日期">
+					</el-date-picker>
+				</el-form-item>
+
+				<el-form-item>
+					<el-button type="primary" @click="list1()" size="large" icon="el-icon-search">查询</el-button>
+					<el-button @click="resetSearch1()" size="large" icon="el-icon-refresh-right">重置</el-button>
+				</el-form-item>
+			</el-form>
+
+			<vxe-table
+				border="inner"
+				auto-resize
+				resizable
+				height="550px"
+				:loading="loading"
+				size="large"
+				ref="projectTable1"
+				show-header-overflow
+				show-overflow
+				highlight-hover-row
+				:menu-config="{}"
+				:print-config="{}"
+				@sort-change=""
+				:sort-config="{remote:true}"
+				:data="dataList1"
+				:row-config="{isCurrent: true}"
+				:checkbox-config="{trigger: 'row'}"
+			>
+				<vxe-column type="seq" width="60" title="序号"></vxe-column>
+				<vxe-column type="checkbox" width="60px"></vxe-column>
+				<vxe-column min-width="230" align="center" title="项目名称" field="projectName" show-overflow="title"></vxe-column>
+				<vxe-column min-width="230" align="center" title="项目编号" field="projectNumber"></vxe-column>
+				<vxe-column min-width="230" align="center" title="报告文号" field="reportNo"></vxe-column>
+				<vxe-column min-width="160" align="center" title="合同名称" field="contractName"></vxe-column>
+				<vxe-column min-width="160" align="center" title="报告创建人" field="userName"></vxe-column>
+				<vxe-column min-width="160" align="center" title="报告创建时间" field="createTime"></vxe-column>
+
+			</vxe-table>
+			<vxe-pager
+				background
+				size="large"
+				:current-page="tablePage1.currentPage"
+				:page-size="tablePage1.pageSize"
+				:total="tablePage1.total"
+				:page-sizes="[10, 20, 100, 1000, {label: '全量数据', value: 1000000}]"
+				:layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
+				@page-change="currentChangeHandle1">
+			</vxe-pager>
+		</div>
+      <div v-if="checkType === '1'" >
+          <el-form :inline="true" class="query-form" ref="searchForm" :model="searchForm" @submit.native.prevent>
+            <!-- 搜索框-->
+            <el-form-item label="项目名称" prop="name">
+              <el-input v-model="searchForm.name" placeholder="请输入项目名称" clearable></el-input>
+            </el-form-item>
+            <el-form-item label="项目编号" prop="no">
+              <el-input v-model="searchForm.no" placeholder="请输入项目编号" clearable></el-input>
+            </el-form-item>
+            <el-form-item label="创建时间" prop="createDates">
+              <el-date-picker
+                placement="bottom-start"
+                format="YYYY-MM-DD HH:mm:ss"
+                value-format="YYYY-MM-DD HH:mm:ss"
+                v-model="searchForm.createDates"
+                type="datetimerange"
+                range-separator="至"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期">
+              </el-date-picker>
+            </el-form-item>
+
+            <el-form-item>
+              <el-button type="primary" @click="list()"  icon="el-icon-search">查询</el-button>
+              <el-button @click="resetSearch()" icon="el-icon-refresh-right">重置</el-button>
+            </el-form-item>
+          </el-form>
+
+          <vxe-table
+            border="inner"
+            auto-resize
+            resizable
+            height="550px"
+            :loading="loading"
+            ref="projectTable"
+            show-header-overflow
+            show-overflow
+            highlight-hover-row
+            :menu-config="{}"
+            :print-config="{}"
+            :sort-config="{remote:true}"
+            :data="dataList"
+            :row-config="{isCurrent: true}"
+            :checkbox-config="{trigger: 'row'}"
+          >
+            <vxe-column type="seq" width="60" title="序号"></vxe-column>
+            <vxe-column type="checkbox" width="60px"></vxe-column>
+            <vxe-column min-width="160" align="center" title="项目名称" field="name" show-overflow="title"></vxe-column>
+            <vxe-column min-width="160" align="center" title="项目编号" field="no"></vxe-column>
+            <vxe-column min-width="160" align="center" title="合同名称" field="contractName"></vxe-column>
+            <vxe-column min-width="160" align="center" title="创建人" field="createById"></vxe-column>
+            <vxe-column min-width="160" align="center" title="创建时间" field="createTime"></vxe-column>
+
+          </vxe-table>
+          <vxe-pager
+            background
+            :current-page="tablePage.currentPage"
+            :page-size="tablePage.pageSize"
+            :total="tablePage.total"
+            :page-sizes="[10, 20, 100, 1000, {label: '全量数据', value: 1000000}]"
+            :layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
+            @page-change="currentChangeHandle">
+          </vxe-pager>
+        </div>
+      <div style="height: 500px;" v-if="checkType === '3'">
+        <el-form  label-width="80px" class="query-form" ref="searchForm" :model="searchForm" @keyup.enter.native="refreshList()" @submit.native.prevent>
+			<el-row  :gutter="15">
+            <el-col :span="21">
+              <el-form-item label="详情" prop="detail">
+                <el-input style="width: 100%" type="textarea" maxlength="500" v-model="detail" placeholder="请输入详情" show-word-limit></el-input>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+		<template #footer>
+			<span class="dialog-footer">
+			  <el-button @click="close()" icon="el-icon-circle-close">关闭</el-button>
+			  <el-button type="primary" v-if="method != 'view'" @click="getProgram()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+			</span>
+		</template>
+
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+  import ProjectInfoService from '@/api/jy/ProjectInfoService'
+  export default {
+    data () {
+      return {
+        title: '',
+        method: '',
+        visible: false,
+        loading: false,
+        tablePage: {
+          total: 0,
+          currentPage: 1,
+          pageSize: 10,
+          orders: []
+        },
+	    tablePage1: {
+		  total: 0,
+		  currentPage: 1,
+		  pageSize: 10,
+		  orders: []
+	    },
+        dataList: [],
+        dataList1: [],
+        searchForm: {
+          name: '',
+          no: '',
+          createBy: '',
+          projectMasterName: '',
+          projectNumber: '',
+          projectName: '',
+          createDates: [],
+		  reportNo: '',
+          status: ''
+        },
+        checkType: '',
+        detail: '',
+        isShow: true,
+        num: true,// num为true是多选,false是单选
+		reportType:''
+      }
+    },
+	  ProjectInfoService:null,
+    created () {
+    	this.projectInfoService=new ProjectInfoService()
+    },
+    components: {
+    },
+    methods: {
+      /**
+       * @param isShow
+       *      isShow为空,则可以选择“项目”或填写“其他”
+       *      isShow为false,则只可以选择“项目”,并且弹出提示
+       *      isShow为‘1’,则只可以选择“项目”,不弹出提示
+       *      isShow为其他任何值,则只可以填写“其他”
+       * @param num
+       *      num为空或者true,则允许多选
+       *      num为其他任何值,则只可以单选
+       */
+      init (isShow, num) {
+        if (this.commonJS.isEmpty(isShow)) {
+          this.isShow = true
+          this.checkType = '1'
+        } else {
+			if (isShow === false || isShow === 'false') {
+				if (this.checkType === '1') {
+					this.isShow = false
+					this.checkType = '1'
+					this.$message({message: '第一条为项目后面新增只能选择项目', type: 'warning', customClass: 'messageZindex'})
+				} else if (this.checkType === '2') {
+					this.isShow = false
+					this.checkType = '2'
+					this.$message({message: '第一条为报告后面新增只能选择报告', type: 'warning', customClass: 'messageZindex'})
+				}
+			} else if (isShow === '1') {
+				this.isShow = false
+				this.checkType = '1'
+			}else if (isShow === '2') {
+				this.isShow = false
+				this.checkType = '2'
+			} else {
+				this.isShow = false
+				this.checkType = '3'
+			}
+        }
+        if (this.commonJS.isEmpty(num) || num === true) {
+          this.num = true // num为true是多选,false是单选
+        } else {
+          this.num = false
+        }
+        this.visible = true
+        this.list()
+	    // this.list1()
+      },
+      // 表单提交
+      getProgram () {
+        let rows
+	    let rowsType
+        if (this.checkType === '1') {
+          if (this.commonJS.isEmpty(this.$refs.projectTable.getCheckboxRecords())) {
+            this.$message.error('请至少选择一条数据')
+            return
+          }
+          if (this.num === false) {
+            if (this.$refs.projectTable.getCheckboxRecords().length > 1) {
+              this.$message.error('最多选择一条数据')
+              return
+            }
+          }
+          rows = this.$refs.projectTable.getCheckboxRecords()
+        } else if (this.checkType === '2') {
+			if (this.commonJS.isEmpty(this.$refs.projectTable1.getCheckboxRecords())) {
+				this.$message.error('请至少选择一条数据')
+				return
+			}
+			if (this.num === false) {
+				if (this.$refs.projectTable1.getCheckboxRecords().length > 1) {
+					this.$message.error('最多选择一条数据')
+					return
+				}
+			}
+			rows = this.$refs.projectTable1.getCheckboxRecords()
+		} else {
+          if (this.commonJS.isEmpty(this.detail)) {
+            this.$message.error('请填写开票详情')
+            return
+          }
+          rows = [{projectName: this.detail}]
+		  rows.bj1 = 'bj1'
+        }
+
+        this.close()
+        this.$emit('getProgram', rows)
+      },
+      list () {
+        this.loading = true
+        this.searchForm.status = '5'
+		  this.projectInfoService.listByCreateId({
+          'current': this.tablePage.currentPage,
+          'size': this.tablePage.pageSize,
+          'orders': this.tablePage.orders,
+          ...this.searchForm
+        }).then((data) => {
+          this.dataList = data.records
+          this.tablePage.total = data.total
+          this.loading = false
+        })
+      },
+	  // list1 () {
+		//   this.loading = true
+		//   this.searchForm.status = '5'
+		//   projectRecordsService.list1({
+		// 	'current': this.tablePage1.currentPage,
+		// 	'size': this.tablePage1.pageSize,
+		// 	'orders': this.tablePage1.orders,
+		// 	...this.searchForm
+		//   }).then((data) => {
+		// 	this.dataList1 = data.records
+		// 	this.tablePage1.total = data.total
+		// 	this.loading = false
+		//   })
+	  // },
+      // 当前页
+      currentChangeHandle ({currentPage, pageSize}) {
+        this.tablePage.currentPage = currentPage
+        this.tablePage.pageSize = pageSize
+        this.list()
+      },
+      resetSearch () {
+        this.$refs.searchForm.resetFields()
+        this.list()
+      },
+	  currentChangeHandle1 ({currentPage, pageSize}) {
+		this.tablePage1.currentPage = currentPage
+		this.tablePage1.pageSize = pageSize
+		this.list1()
+	  },
+	  resetSearch1 () {
+		this.$refs.searchForm.resetFields()
+		this.list1()
+	  },
+      close () {
+        this.detail = ''
+        this.visible = false
+      }
+    }
+  }
+</script>
+<style>
+  .messageZindex {
+    z-index:9999 !important;
+  }
+</style>

+ 527 - 0
src/views/materialManagement/userSeal/SignetAddForm.vue

@@ -0,0 +1,527 @@
+<template xmlns:v-slot="http://www.w3.org/1999/XSL/Transform">
+	<div>
+		<el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="status === 'audit' || status === 'taskFormDetail'"
+				 label-width="160px" @submit.native.prevent>
+			<el-divider content-position="left"><i class="el-icon-document"></i>
+				<span style="color: red;border-top: 20px">*</span>关联项目
+				<el-button style="margin-left: 20px" type="primary" :disabled="status === 'audit' || status === 'taskFormDetail'" @click="insertEvent('base')"  plain>
+					新增
+				</el-button>
+			</el-divider>
+			<el-row  :gutter="15">
+				<el-col :span="24">
+					<vxe-table
+						border
+						:footer-method="footerMethod2"
+						show-overflow
+						show-footer
+						ref="baseTable"
+						:key="baseKey"
+						class="vxe-table-element"
+						:data="inputForm.projectList"
+						style="margin-left: 5em"
+						@cell-click=""
+						@edit-closed=""
+						keep-source
+						highlight-current-row
+						:edit-rules="tableRules"
+						:edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true, icon: '-'}"
+					>
+						<vxe-table-column field="name" align="center" title="项目名称" :edit-render="{}" show-overflow="title">
+							<template v-slot:edit="scope">
+								<el-input  :disabled="status === 'audit' || status === 'taskFormDetail'" @focus="openProgramPageForm(scope.$rowIndex)" placeholder="请填写项目名称" :readonly="true" v-model="scope.row.name"/>
+							</template>
+						</vxe-table-column>
+						<vxe-table-column field="no" align="center" title="项目编号" :edit-render="{}">
+							<template v-slot:edit="scope">
+								<el-input :disabled="true" :readonly="true" placeholder="请填写项目编号" v-model="scope.row.no"/>
+							</template>
+						</vxe-table-column>
+						<vxe-table-column field="projectLeader" align="center" title="项目负责人" :edit-render="{}">
+							<template v-slot:edit="scope">
+								<el-input :disabled="true" placeholder="请填写项目负责人" v-model="scope.row.projectLeader"/>
+							</template>
+						</vxe-table-column>
+						<vxe-table-column field="createTime" align="center" title="创建时间" :edit-render="{}">
+							<template v-slot:edit="scope">
+								<el-input :disabled="true" placeholder="请填写创建时间" v-model="scope.row.createTime"/>
+							</template>
+						</vxe-table-column>
+						<vxe-table-column title="操作" align="center" width="100">
+							<template v-slot="scope">
+								<el-button type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'base')">删除</el-button>
+							</template>
+						</vxe-table-column>
+					</vxe-table>
+				</el-col>
+			</el-row>
+			<el-divider content-position="left"><i class="el-icon-document"></i>
+				基本信息
+			</el-divider>
+			<el-row  :gutter="15">
+				<el-col :span="12">
+					<el-form-item label="申请人" prop="createByName"
+								  :rules="[ ]">
+						<el-input :disabled="true" v-model="inputForm.createByName" ></el-input>
+					</el-form-item>
+				</el-col>
+				<el-col :span="12">
+					<el-form-item label="申请时间" prop="createDate"
+								  :rules="[]">
+						<el-input :disabled="true" v-model="inputForm.createDate" ></el-input>
+					</el-form-item>
+				</el-col>
+				<el-col :span="12">
+					<el-form-item label="用印类型" prop="types"
+								  :rules="[
+							 {required: true, message:'用印类型不能为空', trigger:'blur'}
+							]">
+						<el-cascader style="width: 100%" v-model="inputForm.types" :options="typeData" @change="handleChange" placeholder="请选择"  clearable />
+					</el-form-item>
+				</el-col>
+				<el-col :span="12">
+					<el-form-item label="用印份数" prop="number"
+								  :rules="[
+							 {required: true, message:'用印份数不能为空', trigger:'blur'}
+
+							]">
+						<el-input oninput="value=value.replace(/[^\d]/g,'')" :disabled="status === 'audit' || status === 'taskFormDetail'" v-model="inputForm.number" placeholder="请输入用印份数" ></el-input>
+					</el-form-item>
+				</el-col>
+
+				<el-col :span="24">
+					<el-form-item label="说明" prop="remarks"
+								  :rules="[
+                        {required: true, message:'说明不能为空', trigger:'blur'}
+               ]">
+						<el-input type="textarea" placeholder="请输入说明"  maxlength="500"  style="width:100%" v-model="inputForm.remarks" show-word-limit></el-input>
+					</el-form-item>
+				</el-col>
+			</el-row>
+		</el-form>
+		<!--        附件-->
+		<UpLoadComponent ref="uploadComponent"></UpLoadComponent>
+		<ProjectForm ref="projectForm" @getProgram="getProgram"></ProjectForm>
+
+	</div>
+</template>
+
+<script>
+	import XEUtils from 'xe-utils'
+	import SignetService from '@/api/jy/SignetService'
+	import UpLoadComponent from '@/views/common/UpLoadComponent'
+	import ProjectForm from './ProjectForm'
+	import dictService from "@/api/sys/dictService";
+	export default {
+		props: {
+			businessId: {
+				type: String,
+				default: ''
+			},
+			formReadOnly: {
+				type: Boolean,
+				default: false
+			},
+			status: {
+				type: String,
+				default: ''
+			}
+		},
+		data () {
+			return {
+				title: '',
+				method: '',
+				loading: false,
+				inputForm:{
+					id:'',
+					projectList:[],
+					name:'',
+					no:'',
+					projectLeader:'',
+					projectCreateDate:'',
+					createById:this.$store.state.user.id,
+					createByName:this.$store.state.user.name,
+					createDate:this.moment(new Date()).format('YYYY-MM-DD'),
+					remarks:'',
+					files: [], // 附件信息
+					types:[], //用印类型
+					number:'', //用印份数
+					projectId:'',
+				},
+				programRow:'',
+				baseKey:'',
+				typeData:[],
+				keyWatch: '',
+
+			}
+		},
+		SignetService: null,
+		created () {
+			console.log('jld ')
+			this.signetService = new SignetService()
+			this.getTypeList()
+		},
+		mounted () {
+		},
+		activated () {
+			this.getTypeList()
+		},
+		components: {
+			UpLoadComponent,
+			ProjectForm,
+		},
+		computed: {
+			bus: {
+				get () {
+					this.$refs.uploadComponent.setDividerName('附件')
+					return this.businessId
+				},
+				set (val) {
+					this.businessId = val
+				}
+			}
+		},
+		watch: {
+			'keyWatch': {
+				handler (newVal) {
+					console.log('几里路')
+					if (this.bus) {
+						if (this.bus !== 'false') {
+							this.init('', this.bus)
+						}
+					} else {
+						this.$nextTick(() => {
+							this.$refs.inputForm.resetFields()
+						})
+					}
+				}
+			},
+			'loading': {
+				handler (newVal) {
+					this.$emit('changeLoading', newVal)
+					this.$refs.uploadComponent.changeLoading(newVal)
+				}
+			}
+		},
+		methods: {
+			getKeyWatch(keyWatch) {
+				this.keyWatch = keyWatch
+			},
+			init(method, id) {
+				this.method = method
+				this.inputForm={
+					id:'',
+					projectList:[],
+					name:'',
+					no:'',
+					projectLeader:'',
+					projectCreateDate:'',
+					createById:'',
+					createByName:'',
+					createDate:'',
+					remarks:'',
+					files: [], // 附件信息
+					types:[], //用印类型
+					number:'', //用印份数
+					projectId:'',
+				}
+				this.typeData.forEach(option => {
+					option.disabled = false
+				})
+				this.inputForm.id = id
+				this.loading = false
+				this.$nextTick(() => {
+					this.$refs.inputForm.resetFields()
+					this.loading = true
+					if (this.commonJS.isNotEmpty(this.inputForm.id)) {
+						console.log('this.inputForm.id', this.inputForm.id)
+						this.signetService.queryById(this.inputForm.id).then((data)=>{
+							console.log('s',data)
+							this.$refs.uploadComponent.clearUpload()
+							this.inputForm = this.recover(this.inputForm, data)
+							var list=data.projectList
+							this.inputForm.projectList=list
+							this.inputForm.types=data.types
+							this.inputForm.createById=data.createById
+							if (this.commonJS.isEmpty(this.inputForm.createDate)) {
+								this.inputForm.createDate = this.moment(new Date()).format('YYYY-MM-DD')
+							}
+						})
+						this.$refs.uploadComponent.newUpload(method, this.inputForm.types, 'jySeal')
+						this.loading = false
+					}
+				})
+			},
+			saveForm(callback) {
+				this.doSubmit('save', callback)
+			},
+			startForm(callback) {
+				this.loading = true
+				if (this.commonJS.isNotEmpty(this.inputForm.id)) {
+					this.signetService.queryById(this.inputForm.id).then((data) => {
+						if (data.status !== '0' && data.status !== '1' && data.status !== '3') { // 审核状态不是“未发起”或“暂存”或“撤回”,就弹出提示
+							this.loading = false
+							this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+							throw new Error()
+						} else {
+							this.doSubmit('start', callback)
+						}
+					})
+				} else {
+					this.doSubmit('start', callback)
+				}
+			},
+			async agreeForm(callback) {
+				console.log('进入方法')
+				this.loading = true
+				await this.signetService.queryById(this.inputForm.id).then((data) => {
+					if (data.status !== '2' ) { // status的值不等于“审核中”,就弹出提示
+						this.loading = false
+						this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+						throw new Error()
+					} else {
+						if (this.$store.state.user.name==='leader'){
+							this.inputForm.status= '5'
+						}else {
+							this.inputForm.status= '2'
+						}
+							let param = {status: this.inputForm.status, id: this.inputForm.id}
+							this.inputForm=JSON.stringify(this.inputForm)
+							this.signetService.updateStatusById(param).then(() => {
+								callback(data.businessTable, data.businessId, this.inputForm)
+								this.loading = false
+							})
+					}
+				})
+			},
+			reapplyForm(callback) {
+				this.loading = true
+				this.signetService.queryById(this.inputForm.id).then((data) => {
+					if (data.status !== '4') { // 审核状态不是“驳回”,就弹出提示
+						this.loading = false
+						this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+						throw new Error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+					} else {
+						this.doSubmit('reapply', callback)
+					}
+				})
+			},
+			// 表单提交
+			async doSubmit(status, callback) {
+				this.loading = true
+				console.log('5',this.inputForm)
+				if (status === 'save') {
+					// 暂存
+					this.loading = true
+					this.inputForm.status = '1'
+					this.inputForm.workAttachmentDtoList = this.$refs.uploadComponent.getDataList()
+					if (this.commonJS.isEmpty(this.inputForm.reportType)) {
+						this.$message.error('请选择报备类型')
+						this.loading = false
+					}
+					if (this.commonJS.isEmpty(this.inputForm.types)) {
+						this.$message.error('请选择用印类型')
+						this.loading = false
+					}
+					this.signetService.saveForm(this.inputForm).then((data) => {
+						callback(data.businessTable, data.businessId, this.inputForm)
+						this.loading = false
+					}).catch(() => {
+						this.loading = false
+					})
+					return
+				} else if (status === 'start') {
+					if (this.commonJS.isEmpty(this.inputForm.projectList)) {
+						this.$message.error('请选择关联项目')
+						this.loading = false
+					}
+					if (this.commonJS.isEmpty(this.inputForm.types)) {
+						this.$message.error('请选择用印类型')
+						this.loading = false
+					}
+					if (this.commonJS.isEmpty(this.inputForm.number)) {
+						this.$message.error('请输入用印份数')
+						this.loading = false
+					}
+					if (this.commonJS.isEmpty(this.inputForm.remarks)) {
+						this.$message.error('请输入说明')
+						this.loading = false
+					}
+					// 送审  待审核
+					this.inputForm.status = '2'
+				} else if (status === 'agree') {
+					if (this.$store.state.user.name==='leader'){
+						this.inputForm.status= '5'
+					}else {
+						this.inputForm.status= '2'
+					}
+				} else if (status === 'reapply') {
+					this.inputForm.status = '2'
+				}
+				this.$refs['inputForm'].validate((valid) => {
+					if (valid) {
+						this.loading = true
+						this.inputForm.files = this.$refs.uploadComponent.getDataList()
+						// this.inputForm=JSON.stringify(this.inputForm)
+						this.signetService.saveForm(this.inputForm).then((data) => {
+							this.inputForm.id = data.businessId
+							console.log('data22', data)
+							callback(data.businessTable, data.businessId, this.inputForm)
+							this.$refs.inputForm.resetFields()
+							this.loading = false
+						}).catch(() => {
+							this.$refs.inputForm.resetFields()
+							this.loading = false
+						})
+					} else {
+						this.loading = false
+					}
+				})
+			},
+			close() {
+				this.$refs.uploadComponent.clearUpload()
+				this.$refs.inputForm.resetFields()
+				this.inputForm = {
+					id:'',
+					projectList:[],
+					name:'',
+					no:'',
+					projectLeader:'',
+					projectCreateDate:'',
+					createById:'',
+					createByName:'',
+					createDate:'',
+					remarks:'',
+					files: [], // 附件信息
+					types:[], //用印类型
+					number:'', //用印份数
+					projectId:'',
+				}
+				this.visible = false
+			},
+			insertEvent(type) {
+				if (type === 'base') {
+					this.$refs.baseTable.insertAt({})
+					this.inputForm.projectList.push({})
+					this.baseKey = Math.random()
+				}
+				console.log('22',this.inputForm.projectList)
+			},
+			// 删除
+			removeEvent(row, rowIndex, type) {
+				if (type === 'base') {
+					this.$refs.baseTable.remove(row)
+					this.inputForm.projectList.splice(rowIndex, 1)
+				}
+			},
+			openProgramPageForm(rowIndex) {
+				this.$refs.projectForm.init()
+				this.programRow = rowIndex
+				console.log('11',this.programRow)
+			},
+			getProgram(rows) {
+				console.log('1',rows)
+				rows.forEach((item, index) => {
+					this.inputForm.programId = item.id
+					if (index === 0) {
+						let r = this.inputForm.projectList[this.programRow]
+						r.projectId=item.id
+						r.name = item.name
+						r.no = item.no
+						r.projectLeader = item.projectLeader
+						r.createTime = item.createTime
+						console.log('2',this.inputForm.projectList[this.programRow])
+					} else {
+						let r = {
+							projectId: item.id,
+							name: item.name,
+							no: item.no,
+							projectLeader: item.projectLeader,
+							createTime: item.createTime,
+						}
+						this.$refs.baseTable.insertAt(r)
+						this.inputForm.projectList.push(r)
+						this.baseKey = Math.random()
+					}
+
+				})
+				this.$forceUpdate()
+				this.programRow = ''
+				// this.inputForm.reconciliationArea = this.inputForm.financeInvoiceBaseDTOList[0].location
+			},
+			async updateStatusById(type, callback) {
+				this.loading = true
+				if (await this.$refs.uploadComponent.checkProgress()) {
+					this.loading = false
+					throw new Error()
+				} else {
+					if (type === 'reject' || type === 'reback') {
+						this.signetService.queryById(this.inputForm.id).then((data) => {
+							if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
+								this.loading = false
+								this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+								throw new Error()
+							} else {
+								// if (type === 'agree') {
+								//   // 同意
+								//   this.inputForm.status = '5'
+								// }
+								if (type === 'reject') {
+									// 驳回
+									this.inputForm.status = '4'
+								}
+								if (type === 'reback') {
+									// 撤回
+									this.inputForm.status = '3'
+								}
+								if (type === 'reject' || type === 'reback') {
+									let param = {status: this.inputForm.status, id: this.inputForm.id}
+									this.signetService.updateStatusById(param).then(() => {
+										this.loading = false
+										callback()
+									})
+								}
+							}
+						})
+					} else if (type === 'hold') {
+						this.signetService.queryById(this.inputForm.id).then((data) => {
+							if (data.status !== '4') { // status的值不等于“驳回”就弹出提示
+								this.loading = false
+								this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+								throw new Error()
+							} else {
+								// 终止
+								let param = {status: '1', id: this.inputForm.id}
+								financeInvoiceService.updateStatusById(param).then(() => {
+									this.loading = false
+									callback()
+								})
+							}
+						})
+					}
+				}
+			},
+			addRedStar(h, { column }) {
+				return [
+					h('span', { style: 'color: #F56C6C' }, '*'),
+					h('span', ' ' + column.label)
+				];
+			},
+			getTypeList(){
+				console.log(111)
+				dictService.getTypeData().then((data)=>{
+					console.log('a',data)
+					this.typeData=data
+				})
+			}
+		}
+	}
+</script>
+<style scoped>
+	/deep/ .el-input-number .el-input__inner {
+		text-align: left;
+	}
+	/deep/ .vxe-footer--row .vxe-footer--column:nth-child(1) .vxe-cell--item {
+		font-weight:700;
+	}
+</style>

+ 495 - 0
src/views/materialManagement/userSeal/SignetList.vue

@@ -0,0 +1,495 @@
+<template>
+  <div class="page">
+    <el-form :inline="true"  v-if="searchVisible" class="query-form m-b-10" ref="searchForm" :model="searchForm" @keyup.enter.native="refreshList()" @submit.native.prevent>
+      <!-- 搜索框-->
+      <el-form-item label="关联项目" prop="projectName">
+        <el-input v-model="searchForm.projectName" placeholder="请输入关联项目" clearable></el-input>
+      </el-form-item>
+      <el-form-item label="用印类型" prop="types">
+			  <el-cascader style="width: 100%" v-model="searchForm.types" :options="typeData" @change="handleChange" placeholder="请选择"  clearable />
+		  </el-form-item>
+      <el-form-item v-if="showHideItem" label="申请人" prop="createById">
+        <UserSelect :limit='1' :modelValue="searchForm.createById" @update:modelValue='(value, label) => {searchForm.createById = value}'></UserSelect>
+      </el-form-item>
+      <el-form-item v-if="showHideItem"  prop="office" label="申请人部门">
+        <SelectTree
+          ref="officeTree"
+          :props="{
+                  value: 'id',             // ID字段名
+                  label: 'name',         // 显示名称
+                  children: 'children'    // 子级字段名
+                }"
+
+          :url="`/system-server/sys/office/treeData?type=2`"
+          :value="searchForm.office"
+		  size="default"
+          :accordion="true"
+          @getValue="(value) => {searchForm.office=value}"/>
+      </el-form-item>
+      <el-form-item v-if="showHideItem" label="申请时间" prop="createDates">
+        <el-date-picker
+          placement="bottom-start"
+          format="YYYY-MM-DD HH:mm:ss"
+          value-format="YYYY-MM-DD HH:mm:ss"
+          v-model="searchForm.createDates"
+          type="datetimerange"
+          range-separator="至"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期">
+        </el-date-picker>
+      </el-form-item>
+
+      <el-form-item>
+        <el-button type="default" @click="showHide" :icon="showHideIcon">{{showHideName}}</el-button>
+        <el-button type="primary" @click="refreshList()" icon="el-icon-search">查询</el-button>
+        <el-button @click="resetSearch()" icon="el-icon-refresh-right">重置</el-button>
+      </el-form-item>
+    </el-form>
+    <div class="jp-table top" style="">
+      <vxe-toolbar :refresh="{query: refreshList}" custom>
+        <template #buttons>
+          <el-button v-if="hasPermission('material:info:add')" :disabled="isAdmin" type="primary" icon="el-icon-plus" @click="add()">新建</el-button>
+        </template>
+		  <template #tools>
+			  <vxe-button
+				  text
+				  type="primary"
+				  :title="searchVisible ? '收起检索' : '展开检索'"
+				  icon="vxe-icon-search"
+				  class="tool-btn"
+				  @click="searchVisible = !searchVisible"
+			  ></vxe-button>
+		  </template>
+      </vxe-toolbar>
+      <div style="height: calc(100% - 90px)">
+        <vxe-table
+          border="inner"
+          auto-resize
+          resizable
+          height="auto"
+          :loading="loading"
+          ref="clientTable"
+          show-header-overflow
+          show-overflow
+          highlight-hover-row
+          :menu-config="{}"
+          @sort-change="sortChangeHandle"
+          :sort-config="{remote:true}"
+          :data="dataList"
+          :checkbox-config="{}">
+          <vxe-column type="seq" width="60" title="序号"></vxe-column>
+          <vxe-column min-width="160" align="center" title="关联项目" field="projectName">
+            <template #default="scope">
+              <el-link  type="primary" :underline="false" @click="view(scope.row)">{{scope.row.projectName}}</el-link>
+            </template>
+          </vxe-column>
+          <vxe-column min-width="160" align="center" title="用印编号" field="no"></vxe-column>
+          <vxe-column min-width="160" align="center" title="用印类型" field="type"></vxe-column>
+          <vxe-column min-width="160" align="center" title="用印份数" field="number"></vxe-column>
+          <vxe-column min-width="160" align="center" title="申请人" field="createByName"></vxe-column>
+          <vxe-column min-width="160" align="center" title="申请人部门" field="office"></vxe-column>
+          <vxe-column min-width="160" align="center" title="申请时间" field="createDate"></vxe-column>
+			<vxe-column  min-width="150px" align="center" title="状态" field="status" >
+				<template #default="scope">
+					<el-button @click="detail(scope.row)" :type="$dictUtils.getDictLabel('program_project_list_info_status_info', scope.row.status, '')" effect="dark" >{{$dictUtils.getDictLabel("program_project_list_info_status", scope.row.status, '未登记')}} </el-button>
+				</template>
+			</vxe-column>
+          <vxe-column title="操作" width="150px" fixed="right" align="center">
+            <template  #default="scope">
+              <div v-if="isAdmin">
+<!--                <el-button text type="primary"  @click="edit(scope.row.id)">修改</el-button>-->
+                <el-button text type="primary" size="small" v-if="scope.row.status==='0' || scope.row.status==='5'" @click="del(scope.row.id)">删除</el-button>
+              </div>
+              <div v-else>
+              <!--              当前申请人撤回-->
+                <el-button v-if="scope.row.createById === $store.state.user.id && scope.row.status==='2'" text type="primary" size="small" @click="reback(scope.row)">撤回</el-button>
+
+                <el-button v-if="scope.row.status==='2' && checkIsAudit(scope.row)" text type="primary" size="small" @click="examine(scope.row)">审核</el-button>
+                <el-button v-if="scope.row.status === '4'&&scope.row.createById === $store.state.user.id" text type="primary" size="small" @click="adjust(scope.row)">驳回调整</el-button>
+              </div>
+            </template>
+          </vxe-column>
+        </vxe-table>
+        <vxe-pager
+          background
+          :current-page="tablePage.currentPage"
+          :page-size="tablePage.pageSize"
+          :total="tablePage.total"
+          :page-sizes="[10, 20, 100, 1000, {label: '全量数据', value: 1000000}]"
+          :layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
+          @page-change="currentChangeHandle">
+        </vxe-pager>
+        <SupplierChooseForm ref="supplierChooseForm" @getSupplier="getSupplier"></SupplierChooseForm>
+		  <ProgramForm ref="programForm"></ProgramForm>
+
+		  <el-dialog v-model="dialogTableVisible" width="1000px"
+					 height="500px" title="关联项目">
+			  <el-table :data="gridData" width="auto"  border="inner" height="550px">
+				  <el-table-column property="name" label="项目名称" width="200" >
+					  <template #default="scope">
+						  <el-link  type="primary" :underline="false" @click="openProject(scope.row.id)">{{scope.row.name}}</el-link>
+					  </template>
+				  </el-table-column>
+				  <el-table-column property="no" label="项目编号" width="200" />
+				  <el-table-column property="contractName" label="合同名称" width="200" />
+				  <el-table-column property="createById" label="创建人" width="200" />
+				  <el-table-column property="createTime" label="创建时间" width="200" />
+			  </el-table>
+		  </el-dialog>
+		  <ProjectDia  ref="projectDia" @refreshDataList="refreshList"></ProjectDia>
+      </div>
+    </div>
+
+
+  </div>
+
+</template>
+
+<script>
+  import UserSelect from '@/components/userSelect'
+  import SelectTree from '@/components/treeSelect/treeSelect.vue'
+  import SignetService from '@/api/jy/SignetService'
+  import taskService from '@/api/flowable/taskService'
+  import processService from '@/api/flowable/processService'
+  import userService from '@/api/sys/userService'
+  import pick from 'lodash.pick'
+  import SupplierChooseForm from '@/views/materialManagement/supplier/SupplierChooseForm'
+  import dictService from "@/api/sys/dictService";
+  import ProjectDia from '../../jy/project/ProjectDia.vue'
+export default {
+    data () {
+      return {
+		  dialogTableVisible:false,
+		  searchVisible: true,
+        showHideItem: false,
+        showHideIcon: 'el-icon-arrow-down',
+        showHideName: '展示',
+        num: 0,
+        searchForm: {
+          projectName: '',
+			types: [],
+          createById: '',
+          office: '',
+          createDates: [],
+        },
+        dataList: [],
+        tablePage: {
+          total: 0,
+          currentPage: 1,
+          pageSize: 10,
+          orders: []
+        },
+        tableKey: '',
+        loading: false,
+        processDefinitionId: '',
+        procDefKey: '',
+        isAdmin: false,
+        create: '',
+		  gridData:[],
+		  typeData:[]
+      }
+    },
+	SignetService: null,
+    created () {
+      this.signetService = new SignetService()
+		this.getTypeList()
+    },
+    components: {
+      SelectTree,
+      UserSelect,
+      SupplierChooseForm,
+		ProjectDia
+    },
+    computed: {
+      userName () {
+        return this.$store.state.user.name
+      },
+      user () {
+        this.createName = this.$store.state.user.name
+        return this.$store.state.user
+      }
+    },
+    mounted () {
+      this.refreshList()
+    },
+    activated () {
+      this.refreshList()
+    },
+    methods: {
+      showHide () {
+        if (this.showHideItem === false) {
+          this.showHideItem = true
+          this.showHideIcon = 'el-icon-arrow-up'
+          this.showHideName = '隐藏'
+        } else {
+          this.showHideItem = false
+          this.showHideIcon = 'el-icon-arrow-down'
+          this.showHideName = '展示'
+        }
+      },
+      // 新增
+      add () {
+		  // 读取流程表单
+		  let tabTitle = `发起流程【嘉溢-用印流程】`
+		  let processTitle = `${this.userName} 在 ${this.moment(new Date()).format('YYYY-MM-DD HH:mm')} 发起了 [嘉溢-用印流程]`
+		  taskService.getTaskDef({ procDefId: this.processDefinitionId,
+			  status: 'startAndHold'}).then((data) => {
+			  this.$router.push({
+				  path: '/flowable/task/TaskForm',
+				  query: {
+					  ...pick(data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title'),
+					  procDefId: this.processDefinitionId,
+					  procDefKey: this.procDefKey,
+					  status: 'startAndHold',
+					  title: tabTitle,
+					  formType: data.formType,
+					  formUrl: data.formUrl,
+					  formTitle: processTitle,
+					  businessId: 'false',
+					  isShow: false,
+					  routePath: '/materialManagement/userSeal/SignetList'
+				  }
+			  })
+		  })
+      },
+      // 修改
+      edit (id) {
+        id = id || this.$refs.clientTable.getCheckboxRecords().map(item => {
+          return item.id
+        })[0]
+        this.$refs.wareHouseAddForm.init('edit', id)
+      },
+      // 查看
+      view (row) {
+			this.dialogTableVisible=true
+		  	this.gridData=row.projectList
+		  console.log('z',this.gridData)
+      },
+      // 查询当前用户是否是管理员用户
+      checkIsAdmin () {
+        userService.is().then((data) => {
+          this.isAdmin = data
+        })
+      },
+      // 获取数据列表
+      refreshList () {
+        this.loading = true
+        this.signetService.findPageList({
+          'current': this.tablePage.currentPage,
+          'size': this.tablePage.pageSize,
+          'orders': this.tablePage.orders,
+          ...this.searchForm
+        }).then((data) => {
+        	console.log('x',data.records)
+          this.dataList = data.records
+          this.tablePage.total = data.total
+          this.tableKey = Math.random()
+          this.loading = false
+        })
+        // this.materialManagementService.list({
+        //   'current': this.tablePage.currentPage,
+        //   'size': this.tablePage.pageSize,
+        //   'orders': this.tablePage.orders,
+        //   ...this.searchForm
+        // }).then((data) => {
+        //   this.dataList = data.records
+        //   this.tablePage.total = data.total
+        //   this.tableKey = Math.random()
+        //   this.loading = false
+        // })
+        this.checkIsAdmin()
+        processService.getByName('嘉溢-用印流程').then((data) => {
+        	console.log('1',data)
+          if (!this.commonJS.isEmpty(data.id)) {
+            this.processDefinitionId = data.id
+            this.procDefKey = data.key
+          }
+        })
+      },
+      // 当前页
+      currentChangeHandle ({ currentPage, pageSize }) {
+        this.tablePage.currentPage = currentPage
+        this.tablePage.pageSize = pageSize
+        this.refreshList()
+      },
+      // 排序
+      sortChangeHandle (column) {
+        this.tablePage.orders = []
+        if (column.order != null) {
+          this.tablePage.orders.push({column: this.$utils.toLine(column.property), asc: column.order === 'asc'})
+        }
+        this.refreshList()
+      },
+      // 删除
+      del (id) {
+        let ids = id || this.$refs.clientTable.getCheckboxRecords().map(item => {
+          return item.id
+        }).join(',')
+        this.$confirm(`确定删除所选项吗?`, '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          this.loading = true
+          this.wareHouseService.remove(ids).then((data) => {
+            this.$message.success(data)
+            this.refreshList()
+            this.loading = false
+          })
+        })
+      },
+      resetSearch () {
+        this.$refs.searchForm.resetFields()
+        this.searchForm.supplierId = '' // 重置时清空供应商筛选
+        this.refreshList()
+      },
+
+      // 查看修改流程结果
+      detail (row) {
+        if (row.status !== '0' && row.status !== '1') {
+        	this.signetService.queryById(row.id).then((da)=>{
+				// eslint-disable-next-line eqeqeq
+				taskService.getTaskDef({
+					procInsId: row.procInsId,
+					procDefId: this.processDefinitionId
+				}).then((data) => {
+					this.$router.push({
+						path: '/flowable/task/TaskFormDetail',
+						query: {
+							...pick(data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title'),
+							isShow: 'false',
+							readOnly: true,
+							title: '用印申请' + '流程详情',
+							formTitle: '用印申请' + '流程详情',
+							businessId: row.id,
+							status: 'reback',
+							method: 'view'
+						}
+					})
+				})
+			})
+        }
+      },
+      // 撤回入库修改
+      reback (row) {
+        this.$confirm(`确定要撤回该申请吗?`, '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          this.signetService.queryById(row.id).then((data) => {
+            if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
+              this.$message.error('数据已发生改变或不存在,请刷新数据')
+              this.refreshList()
+            } else {
+              processService.revokeProcIns(row.procInsId).then((data) => {
+                let form = {status: '3', id: row.id}
+                this.signetService.updateStatusById(form)
+                this.$message.success(data)
+                this.refreshList()
+              })
+            }
+          })
+        })
+      },
+      stopUpdate (id) {
+        this.signetService.queryById(id).then((data) => {
+          if (data.status !== '3') { // status的值不等于“撤回”,就弹出提示
+            this.$message.error('数据已发生改变或不存在,请刷新数据')
+            this.refreshList()
+          } else {
+            this.$confirm(`确定要取消修改申请吗?`, '提示', {
+              confirmButtonText: '确定',
+              cancelButtonText: '取消',
+              type: 'warning'
+            }).then(() => {
+              this.wareHouseService.backSourceData(id).then((data) => {
+                if (data.result === 'success') {
+                  this.$message.success('取消修改申请成功')
+                } else {
+                  this.$message.error('取消修改申请失败')
+                }
+                this.refreshList()
+              }).catch(() => {
+                this.refreshList()
+              })
+            })
+          }
+        })
+      },
+      // 驳回后调整
+      adjust (row) {
+        this.signetService.queryById(row.id).then((data) => {
+          if (data.status !== '4') { // status的值不等于“驳回”,就弹出提示
+            this.$message.error('数据已发生改变或不存在,请刷新数据')
+            this.refreshList()
+          } else {
+            this.todo(row)
+          }
+        })
+      },
+      // 审核
+      examine (row) {
+        this.signetService.queryById(row.id).then((data) => {
+          if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
+            this.$message.error('数据已发生改变或不存在,请刷新数据')
+            this.refreshList()
+          } else {
+            this.todo(row)
+          }
+        })
+      },
+      // 审核或重新调整跳转
+      todo (row) {
+        let cUser = false
+        taskService.getTaskDefInfo({
+          taskId: row.taskId
+        }).then((data) => {
+          this.$router.push({
+            path: '/flowable/task/TaskForm',
+            query: {
+              ...pick(data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title', 'businessId'),
+              isShow: false,
+              formReadOnly: true,
+              formTitle: `${data.taskName}`,
+              cUser: cUser,
+              title: `审批【${data.taskName || ''}】`,
+              routePath: '/materialManagement/userSeal/SignetList',   // 数据处理后需要跳转的页面路径
+            }
+          })
+        })
+      },
+      // 查询当前登录人是否是数据的审核人
+      checkIsAudit (row) {
+        let loginUserId = this.$store.state.user.id  // 获取当前登录用户id
+        if (this.commonJS.isNotEmpty(row.auditUserIds)) {
+          for (const userId of row.auditUserIds) {
+            if (userId === loginUserId) {  // 当数据的审核人中包含当前登录人id时,返回true
+              return true
+            }
+          }
+        }
+        return false
+      },
+      getSupplier (row) {
+        this.searchForm.supplierId = row.id
+        this.searchForm.supplierName = row.name
+      },
+      // 打开供应商选择组件
+      openSupplierChoose () {
+        this.$refs.supplierChooseForm.init()
+      },
+		getTypeList(){
+			console.log(111)
+			dictService.getTypeData().then((data)=>{
+				console.log('a',data)
+				this.typeData=data
+			})
+		},
+		//查看项目信息
+		openProject(id){
+			this.$refs.projectDia.init('view', id)
+		}
+    }
+  }
+</script>