究极更新

This commit is contained in:
zmj 2024-02-05 16:44:01 +08:00
parent 49d5c9ab6f
commit e35c1d64d3
3 changed files with 54 additions and 75 deletions

View File

@ -35,6 +35,7 @@
:key="index" /> :key="index" />
</el-steps> </el-steps>
</el-descriptions-item> </el-descriptions-item>
<div v-if="formData?.current_check_user_ids?.includes(String(userInfo.id))"> <div v-if="formData?.current_check_user_ids?.includes(String(userInfo.id))">
<el-descriptions-item label="操作" label-align="left" align="left"> <el-descriptions-item label="操作" label-align="left" align="left">
<el-form-item label="意见"> <el-form-item label="意见">
@ -52,6 +53,9 @@
</div> </div>
<el-descriptions-item label="操作" label-align="left" align="left" <el-descriptions-item label="操作" label-align="left" align="left"
v-if="formData?.check_status == 0 && formData.create_user == userInfo.id"> v-if="formData?.check_status == 0 && formData.create_user == userInfo.id">
<el-form-item label="意见">
<el-input v-model="remark" clearable placeholder="请输入" type="textarea" />
</el-form-item>
<el-button @click="revokeFn"> <el-button @click="revokeFn">
撤销 撤销
</el-button> </el-button>
@ -62,7 +66,6 @@
</template> </template>
<script lang="ts" setup name="projectEdit"> <script lang="ts" setup name="projectEdit">
import Popup from '@/components/popup/index.vue'
import { Avatar, Clock } from '@element-plus/icons-vue' import { Avatar, Clock } from '@element-plus/icons-vue'
import { flowapproveDetail, flowapproveCheck, flowapproveRevoke } from '@/api/approve.ts' import { flowapproveDetail, flowapproveCheck, flowapproveRevoke } from '@/api/approve.ts'
import { defineProps } from "vue" import { defineProps } from "vue"
@ -76,7 +79,7 @@ const props = defineProps({
let activeStep = ref(0) let activeStep = ref(0)
const remark = ref('') const remark = ref('')
const emit = defineEmits(['success', 'close']) const emit = defineEmits(['off'])
const popupRef = shallowRef<InstanceType<typeof Popup>>() const popupRef = shallowRef<InstanceType<typeof Popup>>()
// //
@ -133,20 +136,23 @@ const open = () => {
// //
const revokeFn = () => { const revokeFn = async () => {
flowapproveRevoke({ await flowapproveRevoke({
id: props.approve_id, id: props.approve_id,
revoke_reason: remark.value revoke_reason: remark.value
}) })
emit('off')
} }
// //
const checkFn = (i: Number) => { const checkFn = async (i: Number) => {
flowapproveCheck({ await flowapproveCheck({
id: props.approve_id, id: props.approve_id,
check_status: i, check_status: i,
check_reason: remark.value check_reason: remark.value
}) })
emit('off')
} }
const getStep = (item: Object, index: Number) => { const getStep = (item: Object, index: Number) => {

View File

@ -7,19 +7,11 @@
</template> </template>
<div> <div>
<el-row> <el-row>
<el-col :span="8">
<el-form-item label="审批分类">
<el-select class="flex-1" v-model="formData.flow_type" clearable placeholder="请选择所属分类"
@change="getFlowTypeList">
<el-option v-for="(item, index) in flowTyprList" :key="index" :label="item.title"
:value="(item.id)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="审批流程" prop="flow_cate"> <el-form-item label="审批流程" prop="flow_cate">
<el-select class="flex-1" v-model="formData.flow_path" :disabled="!formData.flow_type" clearable <el-select class="flex-1" v-model="formData.flow_path" clearable @change="getDetail"
@change="getDetail" placeholder="请选择审批类型"> placeholder="请选择审批类型">
<el-option v-for="(item, index) in flowTypeList" :key="index" :label="item.name" <el-option v-for="(item, index) in flowTypeList" :key="index" :label="item.name"
:value="parseInt(item.id)" /> :value="parseInt(item.id)" />
</el-select> </el-select>
@ -45,7 +37,7 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-button @click="submit" type="primary"> <el-button @click="submit" type="primary" :disabled="!formData.flow_path">
提交 提交
</el-button> </el-button>
</el-row> </el-row>
@ -54,61 +46,72 @@
</el-card> </el-card>
</template> </template>
<script setup> <script setup>
import { ref, reactive, defineProps } from 'vue' import { ref, reactive, defineProps, defineEmits } from 'vue'
import { apiFlowTypeLists, } from '@/api/flow_type' import { apiFlowLists, apiFlowDetail, } from '@/api/flow'
import { apiFlowLists, apiFlowDetail, apiFlowDelete } from '@/api/flow'
import { useRoute } from "vue-router" import { useRoute } from "vue-router"
const route = useRoute() const route = useRoute()
const emits = defineEmits(["confirm"]); const props = defineProps({
id: Number
})
const emit = defineEmits(['off'])
const formData = reactive({ const formData = reactive({
flow_type: "",
flow_path: "", flow_path: "",
path: route.path path: route.path
}) })
const flowTyprList = ref([])
const getFlowtypeList = async () => {
let res = await apiFlowTypeLists()
flowTyprList.value = res.lists
}
//
const flowTypeList = ref([]) //
const flowTypeList = ref([{
"id": 1,
"name": "fgfdgd",
"flow_cate": "1212",
"check_type": "固定审批流",
"remark": "vcggfhfghfg",
"status": "启用",
"flow_type": "财务",
"org_name": "海之农",
"dept_name": "技术部,张伟自己的部门"
}])
const getFlowTypeList = async () => { const getFlowTypeList = async () => {
if (!formData.flow_type) return
formData.flow_path = '' // let res = await apiFlowLists({ id: 1 })
flowTypeList.value = [] // flowTypeList.value = res
let res = await apiFlowLists({
flow_cate: formData.flow_type,
status: 2
})
Object.assign(flowTypeList.value, res.lists)
} }
// //
const flowDetail = ref({}) const flowDetail = ref({})
const getDetail = async () => { const getDetail = async () => {
let res = await apiFlowDetail({ id: formData.flow_path }) let res = await apiFlowDetail({ id: formData.flow_path })
flowDetail.value = res flowDetail.value = res
//
emits("confirm", formData);
} }
// //
const getDescr = (item) => { return item.flow_step == 1 ? "当前部门负责人" : (item.flow_user.map(val => ([val.name]))).join(',') } const getDescr = (item) => { return item.flow_step == 1 ? "当前部门负责人" : (item.flow_user.map(val => ([val.name]))).join(',') }
// //
const submit = () => { const submit = async () => {
// await apiFlowLists({
// id: props.id,
// as: { ...formData }
// })
emit('off')
} }
getFlowtypeList()
const numberToChinese = (num) => { const numberToChinese = (num) => {
let chineseNum = ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十"]; let chineseNum = ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十"];
return chineseNum[num]; return chineseNum[num];
} }
getFlowTypeList()
</script> </script>

View File

@ -112,18 +112,16 @@
<el-table-column label="报价金额" prop="sale_amount" show-overflow-tooltip /> <el-table-column label="报价金额" prop="sale_amount" show-overflow-tooltip />
</el-table> </el-table>
</el-row> </el-row>
<!-- <flowProcess></flowProcess> --> <flowProcess v-if="false" :id="formData?.id" @off="handleClose"></flowProcess>
<!-- <flowDetail :approve_id="formData?.approve_id" /> --> <flowDetail :approve_id="formData?.approve_id" @off="handleClose" v-else />
</popup> </popup>
</div> </div>
</template> </template>
<script lang="ts" setup name="customdetail"> <script lang="ts" setup name="customdetail">
import type { FormInstance } from 'element-plus'
import Popup from '@/components/popup/index.vue' import Popup from '@/components/popup/index.vue'
import { apiCustomDetail } from '@/api/custom' import { apiCustomDetail } from '@/api/custom'
import { timeFormat } from '@/utils/util'
import { apiBidDocumentExaminationDetailLists } from '@/api/bid_document_examination_detail' import { apiBidDocumentExaminationDetailLists } from '@/api/bid_document_examination_detail'
import type { PropType } from 'vue' import type { PropType } from 'vue'
defineProps({ defineProps({
@ -133,33 +131,16 @@ defineProps({
} }
}) })
const emit = defineEmits(['success', 'close']) const emit = defineEmits(['success', 'close'])
const formRef = shallowRef<FormInstance>()
const popupRef = shallowRef<InstanceType<typeof Popup>>() const popupRef = shallowRef<InstanceType<typeof Popup>>()
const productList = ref([]) const productList = ref([])
const total = ref('') const total = ref('')
const datas = reactive({
provinceOptions: [],
cityOptions: [],
areaOptions: [],
});
const pager1 = reactive({ const pager1 = reactive({
page_size: 10, page_size: 10,
page_no: 1, page_no: 1,
bid_document_examination_id: "" bid_document_examination_id: ""
}) })
//
const handleSizeChange1 = (val: number) => {
pager1.page_size = val
productLists()
}
//
const handleCurrentChange1 = (val: number) => {
pager1.page_no = val
productLists()
}
// //
const productLists = () => { const productLists = () => {
@ -179,19 +160,9 @@ const formData = reactive({
// //
const setFormData = async (data: Record<any, any>) => { const setFormData = async (data: Record<any, any>) => {
// for (const key in formData) {
// if (data[key] != null && data[key] != undefined) {
// //@ts-ignore
// formData[key] = data[key]
// }
// }
pager1.bid_document_examination_id = data.id pager1.bid_document_examination_id = data.id
Object.assign(formData, data) Object.assign(formData, data)
productLists() productLists()
// console.log(formData, '2222222222')
} }
@ -211,7 +182,6 @@ const handleSubmit = async () => {
// //
const open = () => { const open = () => {
console.log('1111111')
popupRef.value?.open() popupRef.value?.open()
} }