Commit 84118788 by liangzhen

暂存一下

1 parent 0c3cb633
NODE_ENV = 'development'
VUE_APP_BASE_URL = ""
VUE_APP_BASE_URL = " http://localhost:8080/"
......@@ -349,9 +349,12 @@ export const routes = [
component: () => import("@/views/system/personnel/index.vue"),
},
{
path: '/main/dictionary',
meta: { title: "字典管理" },
component: () => import("@/views/system/dictionary/index.vue"),
path: "/main/dictionaryManagement", // 系统管理 - 字典管理
name: "dictionaryManagement",
component: () => import("@/views/dictionaryManagement/index.vue"),
meta: {
title: "字典管理",
},
},
{
path: '/main/roleAdmin',
......
......@@ -186,7 +186,7 @@ export const menuOptions = [
children: [
{
name: '字典管理',
path: '/main/dictionary',
path: '/main/dictionaryManagement',
},
],
......
<template>
<el-dialog
:title="title"
:visible.sync="showDialog"
:close-on-click-modal="false"
width="80%"
@close="handleClose()"
@open="handleOpen"
>
<Form
ref="addForm"
:form-options="formOptions"
label-width="120px"
>
<!-- 收集材料类型自定义 -->
<template slot="materialType" slot-scope="{ data }">
<el-checkbox-group v-model="formInfo.materialType">
<el-checkbox v-for="item in materialTypeList" :key="item.label" :label="item.value">{{item.label}}</el-checkbox>
</el-checkbox-group>
</template>
<template slot="supervision" slot-scope="{ data }">
<el-button v-if="Object.keys(rowData).length != 0" class="addBtn" type="primary" size="mini" @click="addTabelList">添加</el-button >
<table-config
ref="searchTable"
@selection-change="selectionChange"
:query="query"
:columns="columns"
id-key="elementId"
>
</table-config>
</template>
</Form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="handleSubmit" size="mini" >保 存</el-button >
<el-button @click="handleClose()" size="mini">取 消</el-button>
</span></el-dialog>
</template>
<script>
import Form from './Form.vue'
import TableConfig from './TableConfig.vue'
import AddTabelList from './AddTabelList.vue'
import { materialTypeList } from '@/utils/architectureInspectionDis'
import { collectDataConfiguration } from '@/api/architectureInspection'
export default {
components: { Form, TableConfig, AddTabelList },
props: {
title: {
type: String,
default: '',
},
visible: {
type: Boolean,
default: false,
},
rowData: {
type: Object,
default: () => {},
},
edit:{
type: Boolean,
default: false
}
},
data() {
return {
formInfo: {
materialType: [],
},
materialTypeList,
query: {
url: collectDataConfiguration,
method: 'post',
queryParam: {
supervId: ''
},
},
selectId: '',
prjCodeDetail: '',
isDetail: true
}
},
watch: {
rowData: {
handler(v){
this.query.queryParam.supervId = v.supervId ? v.supervId : ''
this.$nextTick(() => {
this.$refs.searchTable.queryData()
})
},
deep: true
},
},
computed: {
formOptions() {
return [
{
label: '督查方案名称', // label文字
prop: 'supervName', // 字段名
element: 'el-input', // 指定elementui组件
placeholder: '请输入内容', // elementui组件属性
rules: [{ required: true, trigger: 'blur', message: '不能为空' }],
},
{
label: '收集材料类型', // label文字
prop: 'materialType', // 字段名
__slotName: 'materialType',
// rules: [{ required: true, trigger: 'change', message: '不能为空' }],
},
{
label: '开始时间', // label文字
prop: 'startTime', // 字段名
type: 'date',
valueFormat: 'yyyy-MM-dd',
element: 'el-date-picker', // 指定elementui组件
initValue: new Date().format('yyyy-MM-dd'), // 字段初始值
placeholder: '请选择', // elementui组件属性
rules: [{ required: true, trigger: 'change', message: '不能为空' }],
},
{
label: '截止时间', // label文字
prop: 'endTime', // 字段名
type: 'date',
valueFormat: 'yyyy-MM-dd',
element: 'el-date-picker', // 指定elementui组件
initValue: new Date().format('yyyy-MM-dd'), // 字段初始值
placeholder: '请选择', // elementui组件属性
rules: [{ required: true, trigger: 'change', message: '不能为空' }],
},
{
label: '督查清单', // label文字
prop: 'supervision', // 字段名
__slotName: 'supervision',
// rules: [{ required: true, trigger: 'blur', message: '不能为空' }],
},
{
label: '备注', // label文字
prop: 'notes', // 字段名
type: 'textarea',
element: 'el-input', // 指定elementui组件
placeholder: '请输入内容', // elementui组件属性
span: 24,
// rules: [{ required: true, trigger: 'blur', message: '不能为空' }],
},
]
},
showDialog: {
get() {
return this.visible
},
set(value) {
this.$emit('update:visible', value)
},
},
isEdit() {
if (this.title === '修改批次计划') {
return true
} else {
return false
}
},
columns() {
let arr = [
{ label: '序号', type: 'index', prop: '序号', width: '80px' },
{ label: '单位', prop: 'manageDeptName', width: '150px' },
{ label: '项目名称', prop: 'prjName', },
{ label: '项目经理', prop: 'projectManager', width: '200px' },
]
if(Object.keys(this.rowData).length != 0){
arr = [
{ label: '序号', type: 'index', prop: '序号', width: '80px' },
{ label: '单位', prop: 'manageDeptName', width: '150px' },
{ label: '项目名称', prop: 'prjName', },
{ label: '项目经理', prop: 'projectManager', width: '200px' },
]
}else{
arr = [
{ type: 'selection', prop: 'selection', width: '55px' },
...arr
]
}
return [...arr]
},
},
mounted() {},
methods: {
handleSubmit() {
this.$refs['addForm'].onValidate(() => {
const loading = this.$loading({
lock: true,
text: '保存中',
spinner: 'el-icon-loading',
})
const formInfo = this.$refs['addForm'].getData()
let materialType = this.formInfo.materialType.filter(item => !!item).join(',')
let params = !this.edit ? {
...formInfo,
materialType,
supervision: this.selectId
} : {
...this.rowData,
...formInfo,
materialType,
supervision: this.rowData.supervision
}
let url = !this.edit ? '/collect/ad' : '/collect/upd' // 编辑
this.$postRequest(url, params).then(res => {
if (res.code === 200) {
loading.close()
this.$message.success('保存成功')
this.showDialog = false
this.handleClose()
this.$emit('querySearch')
}
})
})
},
handleClose() {
this.showDialog = false
this.formOptions.forEach((v) => {
if (v.prop === 'startTime' || v.prop === 'endTime') {
v.initValue = new Date().format('yyyy-MM-dd')
} else {
v.initValue = ''
}
})
this.formInfo.materialType = []
this.$refs['addForm'].addInitValue()
this.$refs['addForm'].onReset()
},
handleOpen() {
if (Object.keys(this.rowData).length) {
this.formOptions.forEach((v) => {
v.initValue = this.rowData[v.prop]
if(v.label == "收集材料类型"){
let val = this.rowData["materialType"]
this.formInfo.materialType = val.split(',')
}
if(v.label == "督查清单"){
this.selectId = v.initValue
}
})
this.$nextTick(() => {
this.$refs['addForm'].addInitValue()
})
} else {
this.$nextTick(() => {
this.$refs['addForm'].addInitValue()
this.$refs['addForm'].onReset()
this.formInfo.materialType = []
})
}
},
addTabelList() {
this.$emit('addList')
},
selectionChange(data) {
this.selectRows = data
let idArr = []
data.forEach(item => {
idArr.push(item.prjId)
})
this.selectId = idArr
},
},
}
</script>
<style scoped lang="scss">
@import '@/styles/elementui.scss';
::v-deep .el-checkbox-group{
text-align: left;
}
.iconAdd{
color: #0d867f;
}
.addBtn{
float: left;
margin-bottom: 10px;
}
::v-deep .el-form{
.el-form-item:nth-last-child(2){
.el-form-item__content{
height: 32vh !important;
}
}
}
</style>
<template>
<div :class="{'addTabelList': isDetail}">
<table-config
ref="searchTable"
@selection-change="selectionChange"
:query="query"
:columns="columns"
id-key="elementId"
>
</table-config>
</div>
</template>
<script>
import TableConfig from '@/components/TableConfig.vue'
import { collectDataConfiguration } from '@/api/architectureInspection'
export default {
components: { TableConfig },
props: {
prjCode: {
type: String,
default: '',
},
isEdit: {
type: Boolean,
default: false
},
isDetail: {
type: Boolean,
default: false
}
},
watch: {
prjCode: {
handler(v){
console.log(v, 'prjCode');
this.query.queryParam.prjCode = v
this.$refs.searchTable.queryData()
},
deep: true
},
isEdit: {
handler(v){
if(v){
this.columns = [
{ label: '序号', type: 'index', width: '80px' },
{ label: '单位', prop: 'manageDeptName', width: '150px' },
{ label: '项目名称', prop: 'prjName', },
{ label: '项目经理', prop: 'projectManager', width: '200px' },
]
}else{
this.columns = [
{ type: 'selection', width: '55px' },
{ label: '序号', type: 'index', width: '80px' },
{ label: '单位', prop: 'manageDeptName', width: '150px' },
{ label: '项目名称', prop: 'prjName', },
{ label: '项目经理', prop: 'projectManager', width: '200px' },
]
}
},
}
},
data(){
return {
query: {
url: collectDataConfiguration,
method: 'post',
queryParam: {
prjCode: this.prjCode
},
},
columns: [],
}
},
methods: {
// 表格勾选的数据
selectionChange(data) {
this.selectRows = data
this.$emit('selectRows', data)
},
search(){
this.$refs.searchTable.queryData()
}
}
}
</script>
<style lang="scss" scoped>
.addTabelList{
height: 38vh;
}
</style>
\ No newline at end of file
<template>
<el-dialog
:title="title"
:visible.sync="showDialog"
width="80%"
@close="handleClose()"
@open="handleOpen()"
>
<table-config
ref="searchTable"
:query="query"
:columns="columns"
id-key="elementId"
@selection-change="selectionChange"
:query-immediate="false"
>
</table-config>
<span slot="footer" class="dialog-footer">
<el-button
v-if="title == '督查清单'"
type="primary"
@click="handleSubmit"
size="mini"
>保 存</el-button
>
<el-button @click="handleClose()" size="mini">取 消</el-button>
</span>
</el-dialog>
</template>
<script>
import { collectDataConfiguration } from '@/api/architectureInspection'
import TableConfig from './TableConfig.vue'
export default {
components: { TableConfig },
props: {
prjCodeDetail: {
type: String,
default: '',
},
title: {
type: String,
default: '',
},
visible: {
type: Boolean,
default: false,
},
},
watch: {},
data() {
return {
query: {
url: collectDataConfiguration,
method: 'post',
queryParam: {
supervId: '',
},
},
selectId: '',
}
},
computed: {
columns() {
let arr = [
{ label: '序号', type: 'index', prop: '序号', width: '80px' },
{ label: '单位', prop: 'manageDeptName', width: '150px' },
{ label: '项目名称', prop: 'prjName' },
{ label: '项目经理', prop: 'projectManager', width: '200px' },
]
if (this.title != '督查清单') {
arr = [
{ label: '序号', type: 'index', prop: '序号', width: '80px' },
{ label: '单位', prop: 'manageDeptName', width: '150px' },
{ label: '项目名称', prop: 'prjName' },
{ label: '项目经理', prop: 'projectManager', width: '200px' },
]
} else {
arr = [{ type: 'selection', prop: 'selection', width: '55px' }, ...arr]
}
return [...arr]
},
showDialog: {
get() {
return this.visible
},
set(value) {
this.$emit('update:visible', value)
},
},
},
methods: {
handleClose() {
this.showDialog = false
this.query.queryParam.supervId = ''
},
handleOpen() {
this.query.queryParam.supervId = this.prjCodeDetail
this.search()
},
async search() {
this.$nextTick(() => {
this.$refs.searchTable.queryData()
})
},
selectionChange(data) {
let idArr = []
data.forEach((item) => {
idArr.push(item.prjCode)
})
this.selectId = idArr.join(',')
},
handleSubmit() {
this.$emit('selectTabel', this.selectId)
this.handleClose()
},
},
}
</script>
<style lang="scss" scoped>
@import '@/styles/elementui.scss';
::v-deep .el-dialog__body {
height: 36vh;
}
</style>
<!--
* @Description: 表单组件
* @Version: 2.0
* @Autor: pan
* @Date: 2024-03-12 14:55:59
* @LastEditors: pan
* @LastEditTime: 2024-03-20 09:29:25
-->
<!-- /**
* 搜索栏公共组件
*/ -->
<template>
<div class="form-box">
<el-form
:model="formData"
ref="formRef"
:label-width="labelWidth"
:label-position="labelPosition"
>
<el-form-item v-for="(item, index) in formOptions"
:key="newKeys[index]" :prop="item.prop" :label="item.label" :rules="item.rules">
<!-- 自定义插槽,可用于特殊表单块 -->
<template v-if="item.__slotName">
<slot :name="item.__slotName" :data="item"></slot>
</template>
<SearchFormItem
v-else
v-model="formData[item.prop]"
:itemOptions="item"
/>
</el-form-item>
</el-form>
</div>
</template>
<script>
import SearchFormItem from './SearchFormItem.vue'
export default {
props: {
/**
* 表单配置
* 示例:
* [{
* label: '用户名', // label文字
* prop: 'username', // 字段名
* element: 'el-input', // 指定elementui组件
* initValue: '阿黄', // 字段初始值
* placeholder: '请输入用户名', // elementui组件属性
* rules: [{ required: true, message: '必填项', trigger: 'blur' }], // elementui组件属性
* events: { // elementui组件方法
* input (val) {
* console.log(val)
* },
* ...... // 可添加任意elementui组件支持的方法
* }
* ...... // 可添加任意elementui组件支持的属性
* }]
*/
formOptions: {
type: Array,
required: true,
default() {
return []
},
},
labelWidth: {
type: String,
default: '80px',
},
labelPosition: {
type: String,
default: 'right',
},
},
data() {
return {
formData: {},
}
},
computed: {
newKeys() {
return this.formOptions.map((v) => {
return this.createUniqueString()
})
},
},
created() {
this.addInitValue()
},
methods: {
createUniqueString() {
const timestamp = +new Date() + ''
const randomNum = parseInt((1 + Math.random()) * 65536) + ''
return (+(randomNum + timestamp)).toString(32)
},
// 校验
onValidate(callback) {
this.$refs.formRef.validate((valid) => {
if (valid) {
// console.log(this.formData)
callback()
}
})
},
// 获取表单数据
getData() {
return this.formData
// this.onValidate(() => {
// this.$emit('getData', this.formData)
// })
},
// 导出
onExport() {
this.onValidate(() => {
this.$emit('onExport', this.formData)
})
},
onReset() {
this.$refs.formRef.resetFields()
},
// 添加初始值
addInitValue() {
const obj = {}
this.formOptions.forEach((v) => {
if (v.initValue !== undefined) {
obj[v.prop] = v.initValue
}
})
this.formData = obj
},
},
components: { SearchFormItem },
}
</script>
<style lang="scss" scoped>
.form-box {
margin-top: 10px;
.btn-box {
display: flex;
height: 38px;
}
.el-form {
// display: flex;
flex-wrap: wrap;
/deep/ .el-form-item__label {
flex-shrink: 0;
color: #000;
}
// el-input宽度
/deep/ .form-item {
text-align: left;
.el-input,
.el-select {
width: 30% !important;
}
}
}
}
</style>
<!--
* @Description: 表单匹配项
* @Version: 2.0
* @Autor: pan
* @Date: 2024-03-12 15:11:47
* @LastEditors: pan
* @LastEditTime: 2024-06-19 18:07:17
-->
<template>
<div class="form-item">
<el-input
v-if="isInput"
v-no-backslash
v-model="currentVal"
v-bind="bindProps"
v-on="bindEvents"
clearable
:placeholder="itemOptions.placeholder"
></el-input>
<el-input-number
v-if="isInputNumber"
v-model="currentVal"
v-bind="bindProps"
v-on="bindEvents"
:controls-position="itemOptions['controls-position'] || 'right'"
></el-input-number>
<el-select
v-if="isSelect"
v-model="currentVal"
v-bind="bindProps"
v-on="bindEvents"
clearable
>
<el-option
v-for="item in itemOptions.options"
:key="item[handleSelectValue]"
:label="item[handleSelectLabel]"
:value="item[handleSelectValue]"
></el-option>
</el-select>
<el-radio-group
v-if="isRadio"
v-bind="bindProps"
v-on="bindEvents"
v-model="currentVal"
>
<el-radio
v-for="item in itemOptions.options"
:key="item.value"
:label="item.value"
>{{ item.label }}</el-radio
>
</el-radio-group>
<el-rate
v-if="isRate"
v-bind="bindProps"
v-on="bindEvents"
v-model="currentVal"
></el-rate>
<!-- datetimerange/daterange -->
<!-- <el-date-picker
v-if="isDatePickerDateRange"
v-model="currentVal"
v-bind="bindProps"
v-on="bindEvents"
:type="itemOptions.type || 'datetimerange'"
clearable
:picker-options="pickerOptionsRange"
start-placeholder="开始日期"
range-separator="至"
end-placeholder="结束日期"
:default-time="['00:00:00', '23:59:59']"
value-format="yyyy-MM-dd HH:mm:ss"
></el-date-picker> -->
<!-- monthrange -->
<!-- <el-date-picker
v-if="isDatePickerMonthRange"
v-model="currentVal"
v-bind="bindProps"
v-on="bindEvents"
:type="itemOptions.type"
clearable
:picker-options="pickerOptionsRangeMonth"
start-placeholder="开始日期"
range-separator="至"
end-placeholder="结束日期"
value-format="yyyy-MM"
></el-date-picker> -->
<!-- other -->
<el-date-picker
v-if="isDatePickerOthers"
v-model="currentVal"
v-bind="bindProps"
v-on="bindEvents"
:type="itemOptions.type"
clearable
placeholder="请选择日期"
></el-date-picker>
<el-cascader
v-if="isCascader"
v-model="currentVal"
v-bind="bindProps"
v-on="bindEvents"
clearable
></el-cascader>
</div>
</template>
<script>
import { getDianXingAnLiSelectData } from '@/api/index.js'
export default {
inheritAttrs: false,
props: {
value: {},
itemOptions: {
type: Object,
default() {
return {}
},
},
},
data() {
return {
// pickerOptionsRange: tools.pickerOptionsRange,
// pickerOptionsRangeMonth: tools.pickerOptionsRangeMonth,
}
},
computed: {
handleSelectValue() {
if (this.itemOptions.keyOption) {
return this.itemOptions.keyOption['value']
}
return 'value'
},
handleSelectLabel() {
if (this.itemOptions.keyOption) {
return this.itemOptions.keyOption['label']
}
return 'label'
},
// 双向绑定数据值
currentVal: {
get() {
if (this.isSelect) {
if (this.value == 0) {
return this.value + ''
} else {
return this.value && this.value + ''
}
} else {
return this.value
}
},
set(val) {
this.$emit('input', val)
},
},
// 绑定属性
bindProps() {
let obj = { ...this.itemOptions }
// 移除冗余属性
delete obj.label
delete obj.prop
delete obj.element
delete obj.initValue
delete obj.rules
delete obj.events
if (obj.element === 'el-select') {
delete obj.options
}
return obj
},
// 绑定方法
bindEvents() {
return this.itemOptions.events || {}
},
// el-input
isInput() {
return this.itemOptions.element === 'el-input'
},
// el-input-number
isInputNumber() {
return this.itemOptions.element === 'el-input-number'
},
// el-select
isSelect() {
return this.itemOptions.element === 'el-select'
},
// el-radio
isRadio() {
return this.itemOptions.element === 'el-radio'
},
// el-rate
isRate() {
return this.itemOptions.element === 'el-rate'
},
// el-date-picker (type: datetimerange/daterange)
isDatePickerDateRange() {
const isDatePicker = this.itemOptions.element === 'el-date-picker'
const isDateRange =
!this.itemOptions.type ||
this.itemOptions.type === 'datetimerange' ||
this.itemOptions.type === 'daterange'
return isDatePicker && isDateRange
},
// el-date-picker (type: monthrange)
isDatePickerMonthRange() {
const isDatePicker = this.itemOptions.element === 'el-date-picker'
const isMonthRange = this.itemOptions.type === 'monthrange'
return isDatePicker && isMonthRange
},
// el-date-picker (type: other)
isDatePickerOthers() {
const isDatePicker = this.itemOptions.element === 'el-date-picker'
return (
isDatePicker &&
!this.isDatePickerDateRange &&
!this.isDatePickerMonthRange
)
},
// el-cascader
isCascader() {
return this.itemOptions.element === 'el-cascader'
},
},
created() {
// 字典下拉框处理
if (this.isSelect && this.itemOptions.dictType) {
this.getDictTypeOptions(this.itemOptions.dictType)
}
},
methods: {
/**
* @description: 获取下拉框字典,并缓存
* @param {String} key 对应字典接口的参数值
* @author: pan
*/
async getDictTypeOptions(key) {
var dictTypeOptions = []
var storedDic = localStorage.getItem('dic_' + key)
if (storedDic) {
dictTypeOptions = JSON.parse(storedDic)
} else {
const params = { key }
const res = await getDianXingAnLiSelectData(params)
if (res.code !== 200) return
dictTypeOptions = res.data
const jsonStr = JSON.stringify(res.data)
localStorage.setItem('dic_' + key, jsonStr)
}
this.itemOptions.options = dictTypeOptions
this.$forceUpdate()
},
},
components: {},
}
</script>
<style lang="scss" scoped></style>
<template>
<!-- 新增 -->
<el-dialog
:title="title"
:visible.sync="showDialog"
:close-on-click-modal="false"
width="80%"
@close="handleClose()"
>
<AddTabelList @selectRows='selectRows' />
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="handleSubmit" size="mini" >保 存</el-button >
<el-button @click="handleClose()" size="mini">取 消</el-button>
</span></el-dialog>
</template>
<script>
import AddTabelList from './AddTabelList.vue'
export default {
components: { AddTabelList },
props: {
title: {
type: String,
default: '',
},
visible: {
type: Boolean,
default: false,
},
},
computed: {
showDialog: {
get() {
return this.visible
},
set(value) {
this.$emit('update:visible', value)
},
},
selectRows() {
return (rows) => {
let idArr = []
rows.forEach(item => {
idArr.push(item.prjCode)
})
this.selectId = idArr.join(',')
}
}
},
data(){
return {
selectId: '',
}
},
methods: {
handleClose() {
this.showDialog = false
},
// selectRows(v){
// console.log(v);
// },
handleSubmit() {
const loading = this.$loading({
lock: true,
text: '保存中',
spinner: 'el-icon-loading',
})
// const formInfo = this.$refs['addForm'].getData()
// const typeApi = this.isEdit ? editBatchPlan : addBatchPlan
// const params = {
// ...this.rowData,
// ...formInfo,
// state: 1,
// }
// typeApi(params).then((res) => {
// if (res.code === 200) {
// loading.close()
// this.$message.success('保存成功')
// this.showDialog = false
// this.handleClose()
// this.$emit('querySearch')
// }
// })
},
}
}
</script>
<style>
</style>
\ No newline at end of file
<template>
<div class="searchTable">
<list-page>
<!-- 查询表单插槽 -->
<template #formWrap>
<SearchForm @onSearch="querySearch" :form-options="formOptions" />
</template>
<!-- 中部操作按钮 -->
<template #operationWrap>
<el-button
type="primary"
icon="el-icon-document-add"
plain
@click="fnAdd"
>新建</el-button
>
</template>
<!-- 表格插槽 -->
<template #tableWrap>
<table-config
ref="searchTable"
:query="query"
:columns="columns"
id-key="elementId"
>
<template #supervision="{ data }">
<el-button
v-if="data.row.supervisionStr"
class="detailBtn"
@click="detailBtn(data.row)"
>{{ data.row.supervisionStr }}</el-button
>
<span v-else>{{ data.row.supervisionStr }}</span>
</template>
</table-config>
</template>
</list-page>
<!-- 新增弹窗 -->
<Add
@querySearch="querySearch"
:visible.sync="visible"
:row-data="rowData"
:title="dialogTitle"
@addList="addList"
:edit="isEdit"
></Add>
<!-- 详情 -->
<Detail
ref="Detail"
:prjCodeDetail="detailPrjCode"
:visible.sync="visibleDetail"
@selectTabel="selectTabel"
:title="detailTitle"
/>
</div>
</template>
<script>
import AddTabelList from './AddTabelList.vue'
import ListPage from '@/components/ListPage.vue'
import SearchForm from '@/components/SearchForm.vue'
import TableConfig from './TableConfig.vue'
import { collectDataSearch } from '@/api/architectureInspection'
import Add from './Add.vue'
import Detail from './Detail.vue'
import { materialTypeList, stateCode } from '@/utils/architectureInspectionDis'
export default {
name: 'collectDataConfiguration',
components: { ListPage, SearchForm, TableConfig, Add, AddTabelList, Detail },
computed: {
formOptions() {
return [
{
label: '督查方案名称', // label文字
prop: 'supervName', // 字段名
element: 'el-input', // 指定elementui组件
placeholder: '请输入内容', // elementui组件属性
},
]
},
columns() {
return [
{ label: '序号', type: 'index', width: '80px' },
{ label: '督查方案名称', prop: 'supervName' },
{
label: '材料类型',
prop: 'materialType',
collectionType: 'materialTypeList',
options: materialTypeList,
},
{ label: '督查清单', prop: 'supervision', __slotName: 'supervision' },
{ label: '开始时间', prop: 'startTime', width: '120px' },
{ label: '截止时间', prop: 'endTime', width: '120px' },
{
label: '状态',
prop: 'state',
width: '120px',
collectionType: 'stateCode',
options: stateCode,
},
{ label: '备注', prop: 'notes', width: '100px' },
{
label: '操作',
type: 'operation',
width: '360px',
actionButtons: [
{
title: '编辑',
type: 'primary',
size: 'mini',
plain: true,
icon: 'el-icon-edit',
disabledCallback: (row, title) => {
return row.state == '1' ? true : false
},
},
{
title: '删除',
type: 'danger',
size: 'mini',
plain: true,
icon: 'el-icon-delete',
disabledCallback: (row, title) => {
return row.state == '1' ? true : false
},
},
{
title: '发布',
size: 'mini',
icon: 'el-icon-circle-check',
type: 'primary',
plain: true,
disabledCallback: (row, title) => {
return row.state == '1' ? true : false
},
},
],
callback: (row, title) => {
this.fnOperation(row, title)
},
},
]
},
},
data() {
return {
query: {
url: collectDataSearch,
method: 'post',
queryParam: {
supervName: '',
},
},
visible: false,
rowData: {},
dialogTitle: '',
approvalVisible: false,
selectRows: [],
selectId: '',
prjCode: '',
detailTitle: '详情',
visibleDetail: false,
detailPrjCode: '',
isEdit: false,
}
},
methods: {
querySearch(data) {
this.query.queryParam = {
...this.query.queryParam,
...data,
}
this.$refs.searchTable.queryData()
},
fnAdd() {
this.visible = true
this.rowData = {}
this.dialogTitle = '收集资料配置'
this.isEdit = false
},
/**
* @description: 操作按钮
* @param {Object} row 当前操作行数据
* @param {String} title 当前操作按钮名称
* @author: pan
*/
fnOperation(row, title) {
switch (title) {
case '编辑':
this.fnEdit(row)
break
case '删除':
this.fnDel(row)
break
case '发布':
this.fnSubmit(row)
default:
break
}
},
fnSubmit(row) {
this.$confirm('是否确认发布?', '提示', {
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning',
})
.then(() => {
const params = {
...row,
state: 2,
}
this.$postRequest('/collect/fb', { ...row }).then((res) => {
if (res.code === 200) {
this.$message.success('发布成功')
this.$refs.searchTable.queryData()
} else {
this.$message.error(res.msg)
}
})
})
.catch(() => {})
},
fnDel(row) {
this.$confirm('是否确认删除?', '提示', {
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning',
})
.then(() => {
const params = {
...row,
delFlag: 1,
}
this.$postRequest('/collect/del', { supervId: row.supervId }).then(
(res) => {
if (res.code === 200) {
this.$message.success('删除成功')
this.$refs.searchTable.queryData()
} else {
this.$message.error('删除失败')
}
},
)
})
.catch(() => {})
},
fnEdit(row) {
this.dialogTitle = '收集资料配置'
this.rowData = row
this.visible = true
this.isEdit = true
},
addList() {
this.detailTitle = '督查清单'
this.detailPrjCode = ''
this.visibleDetail = true
},
// 督查清单 详情
detailBtn(v) {
this.detailTitle = '详情'
this.detailPrjCode = v.supervId
this.visibleDetail = true
},
selectTabel(v) {
let id = this.rowData.supervision
let arrV = v.split(',')
let arrId = id.split(',')
let arr = [...arrV, ...arrId]
this.rowData.supervision = !!v ? Array.from(new Set(arr)).join(',') : id
// this.rowData.supervision = !!v ? v +','+id : id
},
},
}
</script>
<style lang="scss" scoped>
.detailBtn {
border: none;
background: none;
color: #0d867f;
width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
</style>
<template>
<el-dialog
:title="title"
:visible.sync="showDialog"
:close-on-click-modal="false"
width="40%"
@close="handleClose()"
@open="handleOpen"
>
<Form
ref="addForm"
:form-options="formOptions"
label-width="120px"
id="addForm"
>
</Form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="handleSubmit" size="mini" >保 存</el-button >
<el-button @click="handleClose()" size="mini">取 消</el-button>
</span>
</el-dialog>
</template>
<script>
import Form from '@/views/collectDataConfiguration/Form.vue'
import { collectDataConfiguration } from '@/api/architectureInspection'
import { delFlag } from '@/utils/architectureInspectionDis'
export default {
components: { Form },
props: {
title: {
type: String,
default: '',
},
visible: {
type: Boolean,
default: false,
},
rowData: {
type: Object,
default: () => {},
},
},
data() {
return {
query: {
url: collectDataConfiguration,
method: 'post',
queryParam: {},
},
}
},
computed: {
formOptions() {
return [
{
label: '字典名称', // label文字
prop: 'name', // 字段名
element: 'el-input', // 指定elementui组件
placeholder: '请输入内容', // elementui组件属性
rules: [{ required: true, trigger: 'blur', message: '不能为空' }],
},
{
label: '字典标识', // label文字
prop: 'typeValue', // 字段名
element: 'el-input', // 指定elementui组件
placeholder: '请输入内容', // elementui组件属性
rules: [{ required: true, trigger: 'blur', message: '不能为空' }],
},
{
label: '启用状态', // label文字
prop: 'delFlag', // 字段名
element: 'el-select', // 指定elementui组件
placeholder: '请选择', // elementui组件属性
options: delFlag,
rules: [{ required: true, trigger: 'change', message: '不能为空' }],
},
{
label: '排序', // label文字
prop: 'sort', // 字段名
element: 'el-input', // 指定elementui组件
placeholder: '请填写排序(默认请填0)', // elementui组件属性
rules: [{ required: true, trigger: 'blur', message: '不能为空' }],
},
{
label: '描述', // label文字
prop: 'remark', // 字段名
type: 'textarea',
element: 'el-input', // 指定elementui组件
placeholder: '请输入内容', // elementui组件属性
span: 24,
// rules: [{ required: true, trigger: 'blur', message: '不能为空' }],
},
]
},
showDialog: {
get() {
return this.visible
},
set(value) {
this.$emit('update:visible', value)
},
},
},
methods: {
handleSubmit() {
this.$refs['addForm'].onValidate(() => {
const loading = this.$loading({
lock: true,
text: '保存中',
spinner: 'el-icon-loading',
})
const formInfo = this.$refs['addForm'].getData()
let params = Object.keys(this.rowData).length ? {
...this.rowData,
...formInfo,
} : {
...formInfo,
}
let url = Object.keys(this.rowData).length ? '/dict/update' : '/dict/create' // 编辑
this.$postRequestShared(url, params).then(res => {
if (res.code === 200) {
loading.close()
this.$message.success('保存成功')
this.showDialog = false
this.handleClose()
this.$emit('querySearch')
}
})
})
},
handleClose() {
this.showDialog = false
this.formOptions.forEach((v) => {
v.initValue = ''
})
this.$refs['addForm'].addInitValue()
this.$refs['addForm'].onReset()
},
handleOpen() {
if (Object.keys(this.rowData).length) {
this.formOptions.forEach((v) => {
v.initValue = this.rowData[v.prop]
})
// console.log(this.rowData);
this.$nextTick(() => {
this.$refs['addForm'].addInitValue()
})
} else {
this.$nextTick(() => {
this.$refs['addForm'].addInitValue()
this.$refs['addForm'].onReset()
})
}
},
}
}
</script>
<style scoped lang="scss">
@import '@/styles/elementui.scss';
/deep/ #addForm {
.el-select, .el-input{
width: 60% !important;
>.el-input{
width: 100% !important;
}
}
}
</style>
\ No newline at end of file
<template>
<el-dialog
:title="title"
:visible.sync="showDialog"
width="40%"
@close="handleClose()"
@open="handleOpen"
>
<Form
ref="addForm"
:form-options="formOptions"
label-width="120px"
id="addForm"
>
</Form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="handleSubmit">保 存</el-button>
<el-button @click="handleClose()">取 消</el-button>
</span>
</el-dialog>
</template>
<script>
import Form from '@/views/collectDataConfiguration/Form.vue'
import { collectDataConfiguration } from '@/api/architectureInspection'
import { flag } from '@/utils/architectureInspectionDis'
export default {
components: { Form },
props: {
title: {
type: String,
default: '',
},
visible: {
type: Boolean,
default: false,
},
rowData: {
type: Object,
default: () => {},
},
dictId: {
type: Number,
default: 0,
},
},
data() {
return {
query: {
url: collectDataConfiguration,
method: 'post',
queryParam: {},
},
}
},
computed: {
formOptions() {
return [
{
label: '字典值', // label文字
prop: 'value', // 字段名
element: 'el-input', // 指定elementui组件
placeholder: '请输入内容', // elementui组件属性
rules: [{ required: true, trigger: 'blur', message: '不能为空' }],
},
{
label: '字典值描述', // label文字
prop: 'label', // 字段名
element: 'el-input', // 指定elementui组件
placeholder: '请输入内容', // elementui组件属性
// rules: [{ required: true, trigger: 'blur', message: '不能为空' }],
},
{
label: '等级', // label文字
prop: 'grade', // 字段名
element: 'el-input', // 指定elementui组件
placeholder: '请输入内容', // elementui组件属性
rules: [{ required: true, trigger: 'blur', message: '不能为空' }],
},
{
label: '排序', // label文字
prop: 'sort', // 字段名
element: 'el-input', // 指定elementui组件
placeholder: '请填写排序(默认请填0)', // elementui组件属性
rules: [{ required: true, trigger: 'blur', message: '不能为空' }],
},
{
label: '启用状态', // label文字
prop: 'flag', // 字段名
element: 'el-select', // 指定elementui组件
placeholder: '请选择', // elementui组件属性
options: flag,
rules: [{ required: true, trigger: 'change', message: '不能为空' }],
},
{
label: '描述', // label文字
prop: 'remark', // 字段名
type: 'textarea',
element: 'el-input', // 指定elementui组件
placeholder: '请输入内容', // elementui组件属性
span: 24,
// rules: [{ required: true, trigger: 'blur', message: '不能为空' }],
},
]
},
showDialog: {
get() {
return this.visible
},
set(value) {
this.$emit('update:visible', value)
},
},
},
methods: {
handleSubmit() {
this.$refs['addForm'].onValidate(() => {
const loading = this.$loading({
lock: true,
text: '保存中',
spinner: 'el-icon-loading',
})
const formInfo = this.$refs['addForm'].getData()
let params = Object.keys(this.rowData).length
? {
...this.rowData,
...formInfo,
dictId: this.dictId,
}
: {
...formInfo,
dictId: this.dictId,
}
let url = Object.keys(this.rowData).length
? '/dictDetail/update'
: '/dictDetail/create'
this.$postRequestShared(url, params).then((res) => {
if (res.code === 200) {
loading.close()
this.$message.success('保存成功')
this.showDialog = false
this.handleClose()
this.$emit('querySearch')
}
})
})
},
handleClose() {
this.showDialog = false
this.formOptions.forEach((v) => {
v.initValue = ''
})
this.$refs['addForm'].addInitValue()
this.$refs['addForm'].onReset()
},
handleOpen() {
if (Object.keys(this.rowData).length) {
this.formOptions.forEach((v) => {
v.initValue = this.rowData[v.prop]
})
this.$nextTick(() => {
this.$refs['addForm'].addInitValue()
})
} else {
this.$nextTick(() => {
this.$refs['addForm'].addInitValue()
this.$refs['addForm'].onReset()
})
}
},
},
}
</script>
<style scoped lang="scss">
// @import '@/styles/elementui.scss';
/deep/ #addForm {
.el-select,
.el-input {
width: 60% !important;
> .el-input {
width: 100% !important;
}
}
}
</style>
<template>
<div>
<el-dialog
:title="'维护'"
:visible.sync="showDialog"
width="90%"
@close="showDialog = false"
@open="handleOpen"
>
<div class="searchTable">
<list-page>
<!-- 查询表单插槽 -->
<template #formWrap>
<SearchForm
ref="searchForm"
@onSearch="querySearch"
:form-options="formOptions"
/>
</template>
<!-- 中部操作按钮 -->
<template #operationWrap>
<el-button
type="primary"
icon="el-icon-document-add"
plain
@click="fnAdd"
>新建</el-button
>
</template>
<!-- 表格插槽 -->
<template #tableWrap>
<table-config
v-if="showDialog"
ref="searchTable"
:query="query"
:columns="columns"
id-key="elementId"
:hasPagination="false"
>
</table-config>
</template>
</list-page>
</div>
</el-dialog>
<AddMaintenance
@querySearch="querySearch"
:visible.sync="addVisible"
:row-data="addRowData"
:title="dialogTitle"
:dictId="rowData.id"
/>
</div>
</template>
<script>
import ListPage from '@/components/ListPage.vue'
import SearchForm from '@/components/SearchForm.vue'
import TableConfig from '@/views/collectDataConfiguration/TableConfig.vue'
import { dictionaryMaintenanceSearch } from '@/api/architectureInspection'
import { flag } from '@/utils/architectureInspectionDis'
import AddMaintenance from './AddMaintenance.vue'
export default {
name: 'Maintenance',
components: { ListPage, SearchForm, TableConfig, AddMaintenance },
props: {
title: {
type: String,
default: '',
},
visible: {
type: Boolean,
default: false,
},
rowData: {
type: Object,
default: () => {},
},
},
computed: {
formOptions() {
return [
{
label: '字典描述', // label文字
prop: 'label', // 字段名
element: 'el-input', // 指定elementui组件
placeholder: '请输入内容', // elementui组件属性
},
{
label: '启用状态', // label文字
prop: 'flag', // 字段名
element: 'el-select', // 指定elementui组件
placeholder: '请选择', // elementui组件属性
options: flag,
},
]
},
columns() {
return [
{ label: '序号', type: 'index', width: '80px' },
{ label: '字典描述', prop: 'label' },
{ label: '字典值', prop: 'value', width: '150px' },
{ label: '等级', prop: 'grade', width: '150px' },
{ label: '排序', prop: 'sort', width: '80px' },
{
label: '启用状态',
prop: 'flag',
width: '120px',
collectionType: 'flag',
options: flag,
},
{ label: '描述', prop: 'remark' },
{
label: '操作',
type: 'operation',
width: '360px',
actionButtons: [
{
title: '编辑',
type: 'primary',
size: 'mini',
plain: true,
icon: 'el-icon-edit',
// disabledCallback: (row, title) => {
// return row.state == '1' ? true : false
// },
},
{
title: '',
titleChange: (row) => {
return row.flag == 0 ? '禁用' : '启用'
},
size: 'mini',
icon: 'el-icon-chat-dot-round',
type: 'primary',
plain: true,
// disabledCallback: (row, title) => {
// return row.state == '1' ? true : false
// },
},
{
title: '删除',
type: 'primary',
size: 'mini',
plain: true,
icon: 'el-icon-delete',
},
],
callback: (row, title) => {
this.fnOperation(row, title)
},
},
]
},
showDialog: {
get() {
return this.visible
},
set(value) {
this.$emit('update:visible', value)
},
},
},
data() {
return {
query: {
url: dictionaryMaintenanceSearch,
method: 'post',
queryParam: {},
},
addVisible: false,
addRowData: {},
dialogTitle: '',
}
},
methods: {
querySearch(data) {
this.query.queryParam = {
...this.query.queryParam,
...data,
}
this.$refs.searchTable.queryData()
},
fnAdd() {
this.addVisible = true
this.addRowData = {}
this.dialogTitle = '数据字典详情新建'
},
fnOperation(row, title) {
switch (title) {
case '编辑':
this.fnEdit(row)
break
case '删除':
this.fnDelete(row)
break
case 'titleChange':
this.fnEnable(row)
default:
break
}
},
fnDelete(row) {
this.$confirm(`是否确认删除?`, '提示', {
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning',
})
.then(() => {
this.$postRequestShared('/dictDetail/phyDel', { id: row.id }).then(
(res) => {
if (res.code === 200) {
this.$message.success('删除成功')
this.$refs.searchTable.queryData()
} else {
this.$message.error(res.msg)
}
},
)
})
.catch(() => {})
},
fnEdit(row) {
this.dialogTitle = '数据字典详情修改'
this.addRowData = row
this.addVisible = true
},
fnEnable(row) {
let title = row.flag ? '启用' : '禁用'
this.$confirm('是否确认?' + title, '提示', {
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning',
})
.then(() => {
this.$postRequestShared('/dictDetail/delete', { id: row.id }).then(
(res) => {
if (res.code === 200) {
this.$message.success(title + '成功')
this.$refs.searchTable.queryData()
} else {
this.$message.error(title + '失败')
}
},
)
})
.catch(() => {})
},
handleOpen() {
this.$nextTick(() => {
this.$refs.searchForm.addInitValue()
this.$refs.searchForm.onReset()
})
this.query.queryParam.dictId = this.rowData.id
},
},
}
</script>
<style lang="scss" scoped>
@import '@/styles/elementui.scss';
::v-deep .searchTable {
.tableConfig {
height: 32vh !important;
}
}
</style>
<template>
<div class="searchTable">
<list-page>
<!-- 查询表单插槽 -->
<template #formWrap>
<SearchForm @onSearch="querySearch" :form-options="formOptions" />
</template>
<!-- 中部操作按钮 -->
<template #operationWrap>
<el-button
type="primary"
icon="el-icon-document-add"
plain
@click="fnAdd"
>新建</el-button
>
</template>
<!-- 表格插槽 -->
<template #tableWrap>
<table-config
ref="searchTable"
:query="query"
:columns="columns"
id-key="elementId"
>
</table-config>
</template>
</list-page>
<Add
@querySearch="querySearch"
:visible.sync="visible"
:row-data="rowData"
:title="dialogTitle"
></Add>
<!-- <Detail ref="Detail" :prjCodeDetail='detailPrjCode' :visible.sync="visibleDetail" @selectTabel='selectTabel' :title="detailTitle"/> -->
<Maintenance
:row-data="rowData"
@querySearch="querySearch"
:visible.sync="maintenanceVisible"
/>
</div>
</template>
<script>
import ListPage from '@/components/ListPage.vue'
import SearchForm from '@/components/SearchForm.vue'
import TableConfig from '@/views/collectDataConfiguration/TableConfig.vue'
import { dictionarySearch } from '@/api/architectureInspection'
import { delFlag } from '@/utils/architectureInspectionDis'
import Add from './Add.vue'
import Maintenance from './Maintenance.vue'
export default {
name: 'dictionaryManagement',
components: { ListPage, SearchForm, TableConfig, Add, Maintenance },
computed: {
formOptions() {
return [
{
label: '字典名称', // label文字
prop: 'name', // 字段名
element: 'el-input', // 指定elementui组件
placeholder: '请输入内容', // elementui组件属性
},
{
label: '字典标识', // label文字
prop: 'typeValue', // 字段名
element: 'el-input', // 指定elementui组件
placeholder: '请输入内容', // elementui组件属性
},
{
label: '启用状态', // label文字
prop: 'delFlag', // 字段名
element: 'el-select', // 指定elementui组件
placeholder: '请选择', // elementui组件属性
options: delFlag,
},
]
},
columns() {
return [
{ label: '序号', type: 'index', width: '80px' },
{ label: '字典名称', prop: 'name', minWidth: '150px' },
{ label: '字典标识', prop: 'typeValue', minWidth: '150px' },
{ label: '描述', prop: 'remark', minWidth: '150px' },
{ label: '排序', prop: 'sort', width: '80px' },
{
label: '启用状态',
prop: 'delFlag',
width: '120px',
collectionType: 'delFlag',
options: delFlag,
},
{ label: '创建日期', prop: 'createTime', width: '120px' },
// { label: '创建人', prop: 'createMan', },
// { label: '最终修改时间', prop: 'lastUpdateTime', },
// { label: '最终修改人', prop: 'lastUpdateMan', },
{
label: '操作',
type: 'operation',
width: '360px',
actionButtons: [
{
title: '编辑',
type: 'primary',
size: 'mini',
plain: true,
icon: 'el-icon-edit',
// disabledCallback: (row, title) => {
// return row.state == '1' ? true : false
// },
},
{
title: '维护',
size: 'mini',
type: 'primary',
plain: true,
icon: 'el-icon-data-analysis',
// disabledCallback: (row, title) => {
// return row.state == '1' ? true : false
// },
},
{
title: '',
titleChange: (row) => {
return row.delFlag == 0 ? '禁用' : '启用'
},
size: 'mini',
icon: 'el-icon-chat-dot-round',
type: 'primary',
plain: true,
},
{
title: '删除',
type: 'primary',
size: 'mini',
plain: true,
icon: 'el-icon-delete',
},
],
callback: (row, title) => {
this.fnOperation(row, title)
},
},
]
},
},
data() {
return {
query: {
url: dictionarySearch,
method: 'post',
queryParam: {},
},
visible: false, // 新增 修改
rowData: {},
dialogTitle: '',
maintenanceVisible: false, // 维护
}
},
methods: {
querySearch(data) {
this.query.queryParam = {
...this.query.queryParam,
...data,
}
this.$refs.searchTable.queryData()
},
fnAdd() {
this.visible = true
this.rowData = {}
this.dialogTitle = '新建'
},
fnOperation(row, title) {
switch (title) {
case '编辑':
this.fnEdit(row)
break
case '维护':
this.fnMaintenance(row)
break
case '删除':
this.fnDelete(row)
break
case 'titleChange':
this.fnDisabled(row)
default:
break
}
},
fnDelete(row) {
this.$confirm(`是否确认删除?`, '提示', {
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning',
})
.then(() => {
this.$postRequestShared('/dict/phyDel', { id: row.id }).then(
(res) => {
if (res.code === 200) {
this.$message.success('删除成功')
this.$refs.searchTable.queryData()
} else {
this.$message.error(res.msg)
}
},
)
})
.catch(() => {})
},
fnEdit(row) {
this.dialogTitle = '修改'
this.rowData = row
this.visible = true
},
fnMaintenance(row) {
this.maintenanceVisible = true
this.rowData = row
},
fnDisabled(row) {
let title = row.delFlag == 1 ? '启用' : '禁用'
this.$confirm(`是否确认${title}?`, '提示', {
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning',
})
.then(() => {
this.$postRequestShared('/dict/delete', { id: row.id }).then(
(res) => {
if (res.code === 200) {
this.$message.success(title + '成功')
this.$refs.searchTable.queryData()
} else {
this.$message.error(title + '失败')
}
},
)
})
.catch(() => {})
},
},
}
</script>
<style></style>
......@@ -844,15 +844,8 @@
sort: "", // 排序
remark: "" // 描述
};
// this.orgSelectedOptions = JSON.parse(
// localStorage.getItem("userDto")
// ).org.ids.split(",");
// this.orgSelectedOptions.pop();
// this.orgSelectedOptions.shift();
// this.orgSelectedOptions.push(
// JSON.parse(localStorage.getItem("userDto")).org.orgId
// );
// this.systemList = [];
if (type == "detail") {
// this.$refs.seeDetail.show(item);
// this.getDemandListLabels();
......@@ -1191,48 +1184,6 @@
_this.newly_edit = false;
_this.$message.success("操作成功");
_this.getList();
// if (!isSave) {
// code
// if (state) {
// _this.sureSubmit();
// } else {
// code
// }
// } else {
// _this.maintainMask = false;
// _this.$message.success("操作成功");
// }
// this.formData = {
// prjName: "", //可研名称
// sysName: "", //系统名称
// sysId: "",
// prjType: "", //类型
// proProp: "", //项目性质
// proSource: "", //项目来源
// deptId: JSON.parse(localStorage.getItem("userDto")).org.orgId, //单位编码
// dept: JSON.parse(localStorage.getItem("userDto")).org.orgName, //所属单位
// deptId: "",
// proNum: "", //项目期号
// state: "1", //状态
// psrPlans: [], //关联规划的数组
// fileIds: [], //附件集合
// engCost: 0, //建安工程费
// softCost: 0, //软件购置费
// hardCost: 0, //硬件购置费
// consultCost: 0, //咨询服务费
// sysDesignCost: 0, //系统设计开发费
// sysIntegrateCost: 0, //系统集成开发费
// sysImplCost: 0, //系统实施费
// sysIntegrateImplCost: 0, //系统集成实施费
// otherCost: 0, //其他费用
// totalCost: 0, //总计费用
// fsrId: "",
// content: ""
// };
// this.orgSelectedOptions = [];
// this.systemList = [];
// this.fileList = [];
var now = new Date();
addLog({
eventtype: "2", //事件类型
......
......@@ -874,7 +874,7 @@
}, // 选择系统弹窗 表格搜索条件
openRuleSecondDialog: false, // 选择需求弹窗 显影
httpUrl: this.$store.state.user.url, // 资源请求路径ip
httpUrl: process.env.VUE_APP_BASE_URL, // 资源请求路径ip
utils: this.$fy, // src/plugins/fy-kit.js
openRuleDialog: false,
zIndexMain_: 90,
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!